Hi,

At Mon, 6 Dec 2004 19:05:44 +0900,
Peter wrote in [ruby-talk:122658]:
> > gc.c:obj_free() frees it using the critcal section, if dfree is
> > -1.
> 
> I see. Is this necessary because of the change I made? Because even in 1.9 
> in eval.c:mnew() dfree is still set to free instead of -1. I admit that 
> I'm not fully clear on when to use a critical section and when not. From 
> what I can tell, a piece of pure C code should not get interrupted, right?

It is used to postpone signal handlers.  Especially, on
MS-Windows, they are called from another native thread and
executed on the main native thread.

-- 
Nobu Nakada