------ art_3395_12957245.1150842386189 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline > > >>> > The problem isn't that rd.gets waits forever - i didn't described my > problem well enough obviously. The problem is: i get 4 foo!s not one > more. Not only the main thread blocks at the gets but all other ruby > threads do also block. This defeats the whole purpose of using a pipe > in the first place. > <<< Yes, this does fail on Windows as written (works fine on Unix), but it has nothing to do with threads. Take out the thread altogether and it will still block forever. Try writing an extension in C and create your descriptors in native Win32 code. Those will definitely work with Ruby on both Windows and Unix (I've done it). You may have to create two pairs because they will be half-duplex on Windows. ------ art_3395_12957245.1150842386189--