]> git.pld-linux.org Git - packages/SysVinit.git/blob - sysvinit-log-signals.patch
- use %{__cc}
[packages/SysVinit.git] / sysvinit-log-signals.patch
1 --- sysvinit-2.85/src/init.c.orig       2003-06-16 11:34:41.000000000 -0400
2 +++ sysvinit-2.85/src/init.c    2003-06-16 14:28:06.000000000 -0400
3 @@ -701,18 +701,30 @@
4  {
5         va_list va_alist;
6         char buf[256];
7 +       sigset_t nmask, omask;  /* For blocking SIGCHLD */
8  
9         va_start(va_alist, s);
10         vsnprintf(buf, sizeof(buf), s, va_alist);
11         va_end(va_alist);
12 -
13 +       
14         if (loglevel & L_SY) {
15                 /*
16 +                *      Block signals while talking to syslog.
17 +                */
18 +               sigfillset(&nmask);
19 +               sigprocmask(SIG_BLOCK, &nmask, &omask);
20 +
21 +               /*
22                  *      Re-etablish connection with syslogd every time.
23                  */
24                 openlog("init", 0, LOG_DAEMON);
25                 syslog(LOG_INFO, "%s", buf);
26                 closelog();
27 +               
28 +               /*
29 +                * Set signal handlers back to original state.
30 +                */     
31 +               sigprocmask(SIG_SETMASK, &omask, NULL);
32         }
33  
34         /*
This page took 0.037808 seconds and 3 git commands to generate.