ts wrote:

>>>>>>"C" == Chad Fowler <chad / chadfowler.com> writes:
>>>>>>            
>>>>>>
>
>C> That's as far as I can go I guess.  I don't know how to solve the 
>C> problem.  I wish I understood this all better.  Anyone want to do a 
>C> brief explanation after the bug is fixed? ;)
>
> Well, if I've understood (with this new year I'm still stupid :-))
>  
>
I wish I could be Ruby-stupid just like you, Guy ;)

>  * ruby, compiled without pthread, use setitimer(ITIMER_VIRTUAL) which is
>    decremented only when the process is running
>
>  * ruby, compiled with pthread, use nanosleep() or select() which expire
>    even if the process is not running
>
> when rb_thread_wait_for() is called, in this case, it call select(5.000)
> (process not running) which is interrupted by thread_timer() (the first
> select() expire)
>
>  
>
I understand much better now.  Thanks!

If I understand correctly, then.  Because the Thread had been started 
and thread_timer would be called, no sleep can last .02 seconds or longer.

Unfortunately I still don't know how I would fix this.  I'm sure Matz 
will though.

Thanks,
Chad