> This works on Linux by persisting socket.fileno from the parent process and
> calling TCPSocket.for_fd in the child process. On Windows, some tweaks to
> this approach (wrapping _get_osfhandle and _open_osfhandle) will get me most
> of the way there, but still falls a little short. Ie done enough debugging
> to point out the code/design in the Ruby source that is causing this
> failure, in case you like me to explain. I not committed to this
> approach, but I haven been able to think of another one.

I'm not sure how to do it in pure ruby.  Looks lke it is possible
using WSADuplicateSocket

http://stackoverflow.com/questions/670891/is-there-a-way-for-multiple-processes-to-share-a-listening-socket

if you want to.
-=r