~singpolyma/biboumi

e390b79a12a150b13570f7f0b19f50e1b0ead3a0 — Florent Le Coz 10 years ago 16be9af
Do not receive SIGPIPE when send() is called on a closed socket

The error is handled using the return value
1 files changed, 1 insertions(+), 1 deletions(-)

M src/network/socket_handler.cpp
M src/network/socket_handler.cpp => src/network/socket_handler.cpp +1 -1
@@ 96,7 96,7 @@ void SocketHandler::on_recv(const size_t nb)

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)
    {
      log_error("send failed: " << strerror(errno));