I'm writing a cross-platform Ruby 1.9.2 app using Qt4 via the qtbindings gem.  I'm using a QSocketNotifier to read newline-delimited data from a persistent connection, and it's functioning as expected on Linux and OS X.  However, the activated() signal never seems to be firing when I test on my 64-bit Windows 7 machine.<div>

<br></div><div>The code which sets up the notifier is here: <a href="http://pastebin.com/Hn9MKGqm">http://pastebin.com/Hn9MKGqm</a></div><div><br></div><div>In this case, "client" is a Client object I wrote.  Client#read is simply "@sock.gets".</div>

<div><br></div><div>I've tried this with and without the "socket.enabled = true/false" at the start/end of the block.  Other signals are firing successfully, including the one that triggers the event which reads input from a text box and sends it to the server!  I have verified on the server side that the client is writing to it successfully.  However, that activated() block just never happens.</div>

<div><br></div><div>My only current hunch is that perhaps Ruby sockets are not implemented with the WinSock API on Windows, which I read somewhere is required for usage with QSocketNotifier.  If that's the case, I'm not sure what ought to be used instead.  At first I thought this was some kind of thread scheduling problem, but since other events are working as expected, that seems unlikely.</div>

<div><br></div><div>Any ideas?</div><div><br></div><div> - Max</div>