remove useless SIGPIPE protection from syslog
authorRich Felker <dalias@aerifal.cx>
Wed, 13 Apr 2011 21:51:45 +0000 (17:51 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 13 Apr 2011 21:51:45 +0000 (17:51 -0400)
per the standard, SIGPIPE is not generated for SOCK_DGRAM.

src/misc/syslog.c

index 6fc6f4d8a1e76fb9d66640dfbe66b2e3795c3885..de42ce253b384256362eae866a87cb1c463aad53 100644 (file)
@@ -65,7 +65,6 @@ void openlog(const char *ident, int opt, int facility)
 
 void syslog(int priority, const char *message, ...)
 {
-       sigset_t set, oldset;
        va_list ap;
        char timebuf[16];
        time_t now;
@@ -83,10 +82,6 @@ void syslog(int priority, const char *message, ...)
                return;
        }
 
-       sigemptyset(&set);
-       sigaddset(&set, SIGPIPE);
-       pthread_sigmask(SIG_BLOCK, &set, &oldset);
-
        now = time(NULL);
        gmtime_r(&now, &tm);
        strftime(timebuf, sizeof timebuf, "%b %e %T", &tm);
@@ -105,9 +100,5 @@ void syslog(int priority, const char *message, ...)
        // Note: LOG_CONS is not supported because it is annoying!!
        // syslogd will send messages to console if it deems them appropriate!
 
-       /* Clear any possible SIGPIPE generated by the socket write. */
-       sigtimedwait(&set, 0, (struct timespec [1]){0}) || (perror("x"),1);
-       pthread_sigmask(SIG_SETMASK, &oldset, 0);
-
        UNLOCK(&lock);
 }