]> git.kaiwu.me - nginx.git/commitdiff
Valgrind: sigaction() failure now ignored.
authorMaxim Dounin <mdounin@mdounin.ru>
Wed, 5 Jun 2013 15:44:20 +0000 (19:44 +0400)
committerMaxim Dounin <mdounin@mdounin.ru>
Wed, 5 Jun 2013 15:44:20 +0000 (19:44 +0400)
Valgrind intercepts SIGUSR2 in some cases, and nginx might not be able to
start due to sigaction() failure.  If compiled with NGX_VALGRIND defined,
we now ignore the failure of sigaction().

src/os/unix/ngx_process.c

index 4ef3582e8a2b1b050fcb071c607e6fe194c8b174..6f3f38556abce65a53eb11a802d86d57ee8feef8 100644 (file)
@@ -291,9 +291,14 @@ ngx_init_signals(ngx_log_t *log)
         sa.sa_handler = sig->handler;
         sigemptyset(&sa.sa_mask);
         if (sigaction(sig->signo, &sa, NULL) == -1) {
+#if (NGX_VALGRIND)
+            ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
+                          "sigaction(%s) failed, ignored", sig->signame);
+#else
             ngx_log_error(NGX_LOG_EMERG, log, ngx_errno,
                           "sigaction(%s) failed", sig->signame);
             return NGX_ERROR;
+#endif
         }
     }