[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: camlSys__entry vs. FreeBSD kmod
On Wed, Jul 11, 2012 at 01:55:01PM +0100, Anil Madhavapeddy wrote: > The function has to return a well-formed OCaml heap value that matches > the type of the external function declaration (in this case, a string*int). Okay, I did that, but that still does not seem to help as the code still crashes at the same place. In the meanwhile I started to experiment with a different solution, e.g. calling the Caml back from C: let rec fib n = ... (* your favorite fib function *) let main _ = fib 100 let _ = Callback.register "main" main Then in C: ... caml_startup(NULL); main_closure = caml_named_value("main"); if (!main_closure) bail_out(); caml_callback(*main_closure, Val_int(42)); ... And that actually seems to work... (at least got a kernel stuck on calculating :-D) > For additional reading btw, it's worth going through this short 6-post > blog series about how the OCaml heap works: Cool, thanks for the pointer, I will read this.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |