[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

How can an I use nonblocking I/O with openssl?

Yaxm Yaxm

2/6/2009 6:45:00 PM

hello,
I am using ruby's imap library to connect to gmail via ssl.
But every now and then, my thread goes into sleep and never wakes up.
I suspect that the thread is waiting for I/O for reading.

how can I make openssl use nonblocking i/o?

here's another thread discussed about similar issue:
http://www.ruby-...t...

Thanks.
Yaxm
--
Posted via http://www.ruby-....

4 Answers

Tony Arcieri

2/6/2009 6:49:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

On Fri, Feb 6, 2009 at 11:45 AM, Yaxm Yaxm
<snowstorm+rubyforum@gmail.com<snowstorm%2Brubyforum@gmail.com>
> wrote:

> hello,
> I am using ruby's imap library to connect to gmail via ssl.
> But every now and then, my thread goes into sleep and never wakes up.
> I suspect that the thread is waiting for I/O for reading.
>
> how can I make openssl use nonblocking i/o?
>

In my event library Rev (http://rev.rub...) I ended up effectively
monkeypatching the C code in the Ruby OpenSSL extension in order to support
non-blocking I/O:

http://github.com/tarcieri/rev/blob/5f76c67996fd9076503072cf569ad935423e9d56/ext/rev...

I for one would certainly appreciate a "real" solution to doing non-blocking
SSL.

--
Tony Arcieri
medioh.com

Tony Arcieri

2/6/2009 9:35:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

On Fri, Feb 6, 2009 at 11:50 AM, Tony Arcieri <tony@medioh.com> wrote:

> I for one would certainly appreciate a "real" solution to doing
> non-blocking SSL.
>

If there's interest I can release Rev's nonblocking SSL support as a
self-contained Gem which monkeypatches connect_nonblock, accept_nonblock,
read_nonblock, and write_nonblock methods into OpenSSL::SSL::Socket.

--
Tony Arcieri
medioh.com

Yaxm Yaxm

2/7/2009 5:00:00 AM

0

I am very interested in as I need IMAP ssl to use non-blocking i/o.

Tony Arcieri wrote:
> On Fri, Feb 6, 2009 at 11:50 AM, Tony Arcieri <tony@medioh.com> wrote:
>
>> I for one would certainly appreciate a "real" solution to doing
>> non-blocking SSL.
>>
>
> If there's interest I can release Rev's nonblocking SSL support as a
> self-contained Gem which monkeypatches connect_nonblock,
> accept_nonblock,
> read_nonblock, and write_nonblock methods into OpenSSL::SSL::Socket.

--
Posted via http://www.ruby-....

Tony Arcieri

2/7/2009 6:52:00 AM

0

[Note: parts of this message were removed to make it a legal post.]

On Fri, Feb 6, 2009 at 10:00 PM, Yaxm Yaxm
<snowstorm+rubyforum@gmail.com<snowstorm%2Brubyforum@gmail.com>
> wrote:

> I am very interested in as I need IMAP ssl to use non-blocking i/o.
>

All right, well I released non-blocking OpenSSL support as a gem.

github repo here:
http://github.com/tarcieri/openssl-nonblock/t...

release announcement here:
http://www.nabble.com/-ANN--openssl-nonblock-0.1.0-to218...

And now installable as "gem install openssl-nonblock"

Let me know if it works out for you.

--
Tony Arcieri
medioh.com