Browse thread
[Caml-list] OCaml signal handlers (Sys.signal) and C code
-
Stefano Zacchiroli
-
Xavier Leroy
- Stefano Zacchiroli
- Stefano Zacchiroli
-
Xavier Leroy
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ 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