From: SASADA Koichi Date: 2007-11-16T10:25:08+09:00 Subject: Re: state of threads in 1.9 Hi, Bill Kelly wrote: > This leads me to wonder if the following will be possible in 1.9: You can do it on 1.9. See rb_thread_blocking_region() in thread.c. rb_thread_blocking_region( rb_blocking_function_t *func, void *data1, rb_unblock_function_t *ubf, void *data2) func() is your function which you want to do without GL. YARV release GL and call func(). If func() returned, YARV acquire GL and continue ruby program. ubf (unblocking function) is called when another thread interrupts this thread with Thread#kill, or main thread exits. You must set ubf as interrupt function for func(). You must write ubf or ruby will not exit until func() ends. -- // SASADA Koichi at atdot dot net