reintroduce non-blocking sockets