Commit e390b79a authored by louiz’'s avatar louiz’

Do not receive SIGPIPE when send() is called on a closed socket

The error is handled using the return value
parent 16be9af3
...@@ -96,7 +96,7 @@ void SocketHandler::on_recv(const size_t nb) ...@@ -96,7 +96,7 @@ void SocketHandler::on_recv(const size_t nb)
void SocketHandler::on_send() void SocketHandler::on_send()
{ {
const ssize_t res = ::send(this->socket, this->out_buf.data(), this->out_buf.size(), 0); const ssize_t res = ::send(this->socket, this->out_buf.data(), this->out_buf.size(), MSG_NOSIGNAL);
if (res == -1) if (res == -1)
{ {
log_error("send failed: " << strerror(errno)); log_error("send failed: " << strerror(errno));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment