diff options
-rw-r--r-- | src/socket.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/socket.c b/src/socket.c index d13f6ad3..2c72566d 100644 --- a/src/socket.c +++ b/src/socket.c @@ -589,13 +589,18 @@ static ssize_t ssh_socket_unbuffered_write(ssh_socket s, uint32_t len) { ssize_t w = -1; + int flags = 0; + +#ifdef MSG_NOSIGNAL + flags |= MSG_NOSIGNAL; +#endif if (s->data_except) { return -1; } if (s->fd_is_socket) { - w = send(s->fd_out,buffer, len, 0); + w = send(s->fd_out, buffer, len, flags); } else { w = write(s->fd_out, buffer, len); } |