Robert Klemme wrote:
> On 18.12.2006 03:59, Michael W. Ryder wrote:
>> Logan Capaldo wrote:
>>> What platform are you on?
>>
>> Windows XP Pro, which I guess is part of the problem.  The problem I 
>> have with Ruby is that I know it is possible to get this to work in 
>> other languages, BBX (Business Basic) for example.  It may be that 
>> because BBX did not use Microsoft compilers, it has been out longer 
>> than Microsoft has existed, that it doesn't have some limitations 
>> built into the Microsoft compilers.  This of course raises the 
>> question is there a free compiler, such as gcc, which could compile 
>> Ruby without the thread lock problem?
> 
> You can use cygwin's Ruby - this works as expected for me on a Win XP 
> Home (and I guess also Pro):
> 
> Robert@Babelfish2 ~
> $ uname -a
> CYGWIN_NT-5.1 Babelfish2 1.5.21(0.156/4/2) 2006-07-30 14:21 i686 Cygwin
> 
> Robert@Babelfish2 ~
> $ ruby -v
> ruby 1.8.5 (2006-08-25) [i386-cygwin]
> 
> Robert@Babelfish2 ~
> $ cat x.rb
>   require 'timeout'
>   foo = nil
>   status = Timeout::timeout(5) {
>     foo = gets()
>   }
>   puts (foo)
> 
> 
> Robert@Babelfish2 ~
> $ ruby x.rb
> /usr/lib/ruby/1.8/timeout.rb:54: execution expired (Timeout::Error)
>         from /usr/lib/ruby/1.8/timeout.rb:56:in `timeout'
>         from x.rb:3
> 
> Robert@Babelfish2 ~
> $ ruby x.rb
> 12345
> 12345
> 
> I personally prefer cygwin on Windows boxes anyway because you have a 
> nice shell, environment etc.
> 
> Kind regards
> 
>     robert

I just tried this on Cygwin using Ruby 1.8.4 and still have the same 
problem I had with the Windows version.  It still waits for I/O and 
status is the same as the input.  Neither is what I am looking for.