From: Nathaniel Talbott Date: 2003-08-07T22:12:45+09:00 Subject: Re: More on DRB & OpenSSL why the lucky stiff [mailto:ruby-talk@whytheluckystiff.net] wrote: > For some reason the IO.select in openssl/buffering.rb is > stalling. It looks to be a problem in ossl.c. From looking at the code in ossl.c, I thought the problem might be in SSL_read, or the use of it. The documentation (http://www.openssl.org/docs/ssl/SSL_read.html) seemed to be about as clear as mud about how that function works, though. > You can solve the problem for now by providing IO.select with > a timeout. I'm using 1.5 seconds below. (see following patch). This is excellent! I didn't know you could provide a timeout to IO#select. Now I can actually deploy my code. Thanks! > It's stopping on an IO#select on the 482nd iteration hitting > IO.select. This means that there is a current limitation in > the OpenSSL module of 481 * BLOCK_SIZE. It looks to me like > the Buffering module works fine, leaving the underlying > sysread, IO functions in ossl.c under inspection. > > Oh, and this problem is affecting the client only. That's what I observed as well. How do you find time to write about all that's cool in Ruby 1.8.0, work on YAML/Syck, research OpenSSL problems, and the million other things I'm sure you do? :-) Thanks, Nathaniel <:((><