Fair enough. I tried implementing this and hit an unexpected problem. The close() call in worker thread does not actually close the socket. The connection does not actually close until the preserved file handle in the main thread goes out of scope. Unfortunately, this is after the next connection comes in, as the main thread is block in accept() ... no non blocking calls on w32 AFAIK.
Any thoughts on how to force the duplicated socket to close?