diff options
Diffstat (limited to 'src/network/socket_handler.cpp')
-rw-r--r-- | src/network/socket_handler.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/network/socket_handler.cpp b/src/network/socket_handler.cpp index e738302..737bbf5 100644 --- a/src/network/socket_handler.cpp +++ b/src/network/socket_handler.cpp @@ -66,7 +66,10 @@ void SocketHandler::on_recv() ssize_t size = ::recv(this->socket, buf, 4096, 0); if (0 == size) - this->on_connection_close(); + { + this->on_connection_close(); + this->close(); + } else if (-1 == static_cast<ssize_t>(size)) throw std::runtime_error("Error reading from socket"); else |