caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] caml_callback_depth : byterun + vmthreads
@ 2005-12-18  2:48 Jonathan Roewen
  2005-12-18  3:11 ` Jonathan Roewen
  0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Roewen @ 2005-12-18  2:48 UTC (permalink / raw)
  To: caml-list

Hi,

I found this bit of code in vmthreads/scheduler.c:

/* Don't allow preemption during a callback */
if (callback_depth > 1) return curr_thread->retval;

I've done some grepping, and I can find one instance of
[caml_]callback_depth++ (as far as I can tell, this is done once
only), and two instances of [caml_]callback_depth--. These are both in
byterun/interp.c. No where else is this value modified that I can
find, which has got me baffled.

It is the check above that is killing my OS (it never schedules
another thread). This also happens randomly.

Can some one please explain what the hell is going on?

Jonathan


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-12-18  4:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-18  2:48 [Caml-list] caml_callback_depth : byterun + vmthreads Jonathan Roewen
2005-12-18  3:11 ` Jonathan Roewen
2005-12-18  4:20   ` Jonathan Roewen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).