Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] OCaml signal handlers (Sys.signal) and C code
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Stefano Zacchiroli <zack@b...>
Subject: Re: [Caml-list] OCaml signal handlers (Sys.signal) and C code
On Wed, Apr 16, 2003 at 09:16:07PM +0200, Xavier Leroy wrote:
>         enter_blocking_section();
>         /* call C functions */
>         leave_blocking_section();

Ok, thanks Xavier and Damien for the answers.

Let's go to the next level:

1) {enter,leave}_blocking_section are defined in byterun/signal.{h,c}
   and shipped inside libcamlruntime.a. The problem is that signal.h
   isn't shipped in the standard ocaml includes, I can obviously trick
   the C compiler, but is this the intended behaviour?

2) looking at otherlibs/unix/connect.c I see this block of code:

      enter_blocking_section();
      retcode = connect(Int_val(socket), &addr.s_gen, addr_len);
      leave_blocking_section();

   Int_val is used inside the blocking section. I guess that this is
   safe because integers aren't heap allocated. Tell me if I'm wrong.

Cheers.

-- 
Stefano Zacchiroli  --  Master in Computer Science @ Uni. Bologna, Italy
zack@{cs.unibo.it,debian.org,bononia.it}  -  http://www.bononia.it/zack/
"  I know you believe you understood what you think I said, but I am not
sure you realize that what you heard is not what I meant!  " -- G.Romney

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners