English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
perl4caml crashed with threads
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2005-11-15 (02:06)
From: xuzq <zuoqian@g...>
Subject: Re: perl4caml crashed with threads
Richard Jones <rich <at> annexia.org> writes:

> On Mon, Nov 14, 2005 at 02:16:43AM +0000, xuzq wrote:
> > On my debian sid box,the following prog core dump.What's wrong?Is it
> > all right on your machine or is it a bug?
> This crashes on my machine too.  However if you remove all references
> to threads, then it works.  libperl and perl4caml don't make any
> attempt to be thread-safe.
> Rich.
Yes,it 's ok without threads and i see perl4caml may not be thread-safe.I 'm
only curious about why only "eval" crashes and "call" looks fine.In my program
another thread run the following code without any error.

    let (sv_dbf_sz,sv_dbf_sh)=(call_class_method "CAM::DBF" "new" [sv_of_string
path_sz],call_class_method "CAM::DBF" "new" [sv_of_string path_sh]) in
    let (rn_sz,rn_sh)=(int_of_sv (call_method sv_dbf_sz "nrecords" []),int_of_sv
(call_method sv_dbf_sh "nrecords" [])) in
      for i=0 to rn_sz-1 do 
	let row = call_method_array sv_dbf_sz "fetchrow_array" [sv_of_int i] in 
	  match row with

Thank you for your excellent perl4caml,Richard!Would it be possible for perl
to callocaml code just like the Inline::OCaml thoughts in that post: