From: Eric Wong Date: Mon, 18 Jul 2016 04:59:11 +0000 (+0000) Subject: daemon: ignore ENOTSOCK from setsockopt X-Git-Tag: v2.9.3~38^2~1 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/49c58d86ceb7816c5f0ca36e38e26cd6b8506d74?hp=-c daemon: ignore ENOTSOCK from setsockopt In inetd mode, we are not guaranteed stdin or stdout is a socket; callers could filter the data through a pipe or be testing with regular files. This prevents t5802 from polluting syslog. Signed-off-by: Eric Wong Signed-off-by: Junio C Hamano --- 49c58d86ceb7816c5f0ca36e38e26cd6b8506d74 diff --git a/daemon.c b/daemon.c index 46dddaca5a..a84495113e 100644 --- a/daemon.c +++ b/daemon.c @@ -673,9 +673,11 @@ static void set_keep_alive(int sockfd) { int ka = 1; - if (setsockopt(sockfd, SOL_SOCKET, SO_KEEPALIVE, &ka, sizeof(ka)) < 0) - logerror("unable to set SO_KEEPALIVE on socket: %s", - strerror(errno)); + if (setsockopt(sockfd, SOL_SOCKET, SO_KEEPALIVE, &ka, sizeof(ka)) < 0) { + if (errno != ENOTSOCK) + logerror("unable to set SO_KEEPALIVE on socket: %s", + strerror(errno)); + } } static int execute(void)