When the worker was exiting, eventlet is closing the listening socket in th
worker. Since the socket instances are shared, this was also removing the unix
socket on close. This change make sure that the socket can only be closed by
its parent (where the socket have been bound).
While I'm here, also make sure we don't use any blocking function in eventlet
while switching).
fix#965