> 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. IÃ×e 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