Yukihiro Matsumoto wrote:

> |My problem is that this login event can happen more than once, but the
> |second time it happens, I never see 'trying login' -- the thread seems to
....
> Maybe errors happened in the threads.  Try running your program with
> -d option.

I encounter this problem almost every time I use Ruby Threads.  I must have 
a mental block on remembering this.

Exceptions thrown in the body of a Thread aren't handled the same way they 
are elsewhere in Ruby.  If an Exception occurs in a Ruby Thread and you 
don't handle (rescue) it, it is silently ignored -- IE, you'll never see 
the exception output.  Therefore, it is /very/ important to wrap your 
thread code (inside the block) with begin...rescue...end and report your 
own exceptions.

I don't know if this is the problem you're seeing, but Matz is (of course) 
right: first make sure you aren't getting tripped up by a thread-internal 
exception.

-- 
 |..  Never put off till tomorrow what you can ignore entirely.
<|>   
/|\   
/|    
 |