Excerpts from Caleb Tennis's mail of  7 Feb 2005 (EST):
> As soon as I do something this:
> 
> Thread.new do
>   response = SerialPort.new.write("/dev/tts/5, [some_array_of_bytes])
> end
> 
> The thread hangs at the read() function.  If I use the same code in the
> main thread it works fine.

This might be related to [ruby-talk:109668] [ruby-talk:125125], in which
Ruby's switch to select() over read() in the presence of Threads can 
cause freezes under kernel 2.6. But maybe not; the behavior there is
slightly different.

Can you post an strace?

-- 
William <wmorgan-ruby-talk / masanjin.net>