aboutsummaryrefslogtreecommitdiff
path: root/src/os/unix/ngx_process_cycle.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-03-04 16:34:23 +0000
committerIgor Sysoev <igor@sysoev.ru>2004-03-04 16:34:23 +0000
commit6a9304522227d4b4df873d3716cf06093d497700 (patch)
treebc6a3eb7d26df2048714235ce96b98471b813979 /src/os/unix/ngx_process_cycle.c
parenta536298c7bd1f525db97facab814a2906214ee7f (diff)
downloadnginx-6a9304522227d4b4df873d3716cf06093d497700.tar.gz
nginx-6a9304522227d4b4df873d3716cf06093d497700.zip
nginx-0.0.2-2004-03-04-19:34:23 import
Diffstat (limited to 'src/os/unix/ngx_process_cycle.c')
-rw-r--r--src/os/unix/ngx_process_cycle.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
index 8e8bec66e..6ee6c9a24 100644
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.c
@@ -95,7 +95,7 @@ void ngx_master_process_cycle(ngx_cycle_t *cycle, ngx_master_ctx_t *ctx)
if (ngx_modules[i]->init_process) {
if (ngx_modules[i]->init_process(cycle) == NGX_ERROR) {
/* fatal */
- exit(1);
+ exit(2);
}
}
}
@@ -418,7 +418,7 @@ static void ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data)
if (ngx_modules[i]->init_process) {
if (ngx_modules[i]->init_process(cycle) == NGX_ERROR) {
/* fatal */
- exit(1);
+ exit(2);
}
}
}
@@ -429,7 +429,7 @@ static void ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data)
if (ngx_init_threads(5, 128 * 1024 * 1024, cycle) == NGX_ERROR) {
/* fatal */
- exit(1);
+ exit(2);
}
for (i = 0; i < 1; i++) {
@@ -437,7 +437,7 @@ static void ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data)
cycle, cycle->log) != 0)
{
/* fatal */
- exit(1);
+ exit(2);
}
}
@@ -494,8 +494,23 @@ int ngx_worker_thread_cycle(void *data)
{
ngx_cycle_t *cycle = data;
+ ngx_err_t err;
+ sigset_t set;
struct timeval tv;
+ sigfillset(&set);
+ sigdelset(&set, SIGALRM);
+ sigdelset(&set, ngx_signal_value(NGX_TERMINATE_SIGNAL));
+ sigdelset(&set, ngx_signal_value(NGX_SHUTDOWN_SIGNAL));
+
+ err = ngx_thread_sigmask(SIG_BLOCK, &set, NULL);
+ if (err) {
+ ngx_log_error(NGX_LOG_ALERT, cycle->log, err,
+ ngx_thread_sigmask_n " failed");
+ return 1;
+ }
+
+
/* STUB */
ngx_log_debug1(NGX_LOG_DEBUG_CORE, ngx_cycle->log, ngx_errno,