diff options
Diffstat (limited to 'librabbitmq/amqp_socket.c')
-rw-r--r-- | librabbitmq/amqp_socket.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/librabbitmq/amqp_socket.c b/librabbitmq/amqp_socket.c index 909f62d..2034f17 100644 --- a/librabbitmq/amqp_socket.c +++ b/librabbitmq/amqp_socket.c @@ -66,6 +66,14 @@ int amqp_open_socket(char const *hostname, if (sockfd == -1) return -amqp_socket_error(); +#ifdef DISABLE_SIGPIPE_WITH_SETSOCKOPT + if (0 != amqp_socket_setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &one, + sizeof(one))) + { + return -amqp_socket_error(); + } +#endif + if (amqp_socket_setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, &one, sizeof(one)) < 0 || connect(sockfd, (struct sockaddr *) &addr, sizeof(addr)) < 0) |