Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

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: 2003-04-18 (18:04)
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:

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

   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.


Stefano Zacchiroli  --  Master in Computer Science @ Uni. Bologna, Italy
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 Archives:
Bug reports: FAQ:
Beginner's list: