lets_code_javascript
lets_code_javascript copied to clipboard
Fix socket.io race condition
I think this solves the race condition with socket.io. I basically did two things:
- Make
createSocketasynchronous so that it ensures that the new socket is actually connected. This made the tests a lot more stable. - Set a timeout for the underlying HTTP server. After removing all the other code the HTTP server did not shut down reliably. After poking around using
getConnections()I found that occasionally there is a connection hanging there, preventingdone()to be called. I resolved this by setting a timeout on the HTTP server to forcefully shut down all hanging connections.