diff options
Diffstat (limited to 'lib/server/SocketListen.h')
-rw-r--r-- | lib/server/SocketListen.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/server/SocketListen.h b/lib/server/SocketListen.h index 1ec6f512..170c56a1 100644 --- a/lib/server/SocketListen.h +++ b/lib/server/SocketListen.h @@ -166,10 +166,13 @@ public: if(::bind(mSocketHandle, &addr.sa_generic, addrLen) == -1 || ::listen(mSocketHandle, ListenBacklog) == -1) { + int err_number = errno; // Dispose of the socket ::close(mSocketHandle); mSocketHandle = -1; - THROW_EXCEPTION(ServerException, SocketBindError) + THROW_SYS_FILE_ERRNO("Failed to bind or listen " + "on socket", Name, err_number, + ServerException, SocketBindError); } } |