From 45d35b9f4e7d0d88f75238ba8a526cb7ea1a66d4 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Wed, 14 Mar 2012 14:43:32 -0400 Subject: [PATCH] Fix: do not print EPIPE perror, as it is an expected error It is perfectly valid for the other end to close its socket, so do not report broken pipe errors as perror. Signed-off-by: Mathieu Desnoyers --- liblttng-ust-comm/lttng-ust-comm.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/liblttng-ust-comm/lttng-ust-comm.c b/liblttng-ust-comm/lttng-ust-comm.c index 21f48ed0..0781f4ce 100644 --- a/liblttng-ust-comm/lttng-ust-comm.c +++ b/liblttng-ust-comm/lttng-ust-comm.c @@ -251,7 +251,7 @@ ssize_t ustcomm_recv_unix_sock(int sock, void *buf, size_t len) do { ret = recvmsg(sock, &msg, 0); } while (ret < 0 && errno == EINTR); - if (ret < 0) { + if (ret < 0 && errno != EPIPE) { perror("recvmsg"); } @@ -285,7 +285,7 @@ ssize_t ustcomm_send_unix_sock(int sock, void *buf, size_t len) * libust side. */ ret = sendmsg(sock, &msg, MSG_NOSIGNAL); - if (ret < 0) { + if (ret < 0 && errno != EPIPE) { perror("sendmsg"); } @@ -349,7 +349,7 @@ ssize_t ustcomm_send_fds_unix_sock(int sock, void *buf, int *fds, size_t nb_fd, msg.msg_iovlen = 1; ret = sendmsg(sock, &msg, 0); - if (ret < 0) { + if (ret < 0 && errno != EPIPE) { perror("sendmsg"); } @@ -468,7 +468,9 @@ int ustcomm_recv_fd(int sock) ret = recvmsg(sock, &msg, 0); } while (ret < 0 && errno == EINTR); if (ret < 0) { - perror("recvmsg"); + if (errno != EPIPE) { + perror("recvmsg"); + } goto end; } if (ret != sizeof(data_fd)) { -- 2.34.1