only throw exception if there is indeed an error
Merge branch 'master' into pr/40
Use SocketFd::get_error() to get the error on Listen::event_error().