diff options
author | Igor Sysoev <igor@sysoev.ru> | 2004-07-06 16:12:16 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2004-07-06 16:12:16 +0000 |
commit | 81a432a185bc61d46a4d5eb1f96773ee7b3dc6a3 (patch) | |
tree | 2fc767b2b984c999342761308464c701c6d09457 /src/os/unix/ngx_process_cycle.c | |
parent | 40e877165a22f19359344d897c68da4fce62f6c1 (diff) | |
download | nginx-81a432a185bc61d46a4d5eb1f96773ee7b3dc6a3.tar.gz nginx-81a432a185bc61d46a4d5eb1f96773ee7b3dc6a3.zip |
nginx-0.0.7-2004-07-06-20:12:16 import
Diffstat (limited to 'src/os/unix/ngx_process_cycle.c')
-rw-r--r-- | src/os/unix/ngx_process_cycle.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c index 1a5e5c420..ffb8e58bc 100644 --- a/src/os/unix/ngx_process_cycle.c +++ b/src/os/unix/ngx_process_cycle.c @@ -826,9 +826,10 @@ static void* ngx_worker_thread_cycle(void *data) { ngx_thread_t *thr = data; - sigset_t set; - ngx_err_t err; - struct timeval tv; + sigset_t set; + ngx_err_t err; + ngx_tls_t *tls; + struct timeval tv; thr->cv->tid = ngx_thread_self(); @@ -849,6 +850,19 @@ static void* ngx_worker_thread_cycle(void *data) ngx_setthrtitle("worker thread"); + if (!(tls = ngx_calloc(sizeof(ngx_tls_t), ngx_cycle->log))) { + return (void *) 1; + } + + err = ngx_thread_create_tls(); + if (err != 0) { + ngx_log_error(NGX_LOG_ALERT, ngx_cycle->log, err, + ngx_thread_create_tls_n " failed"); + return (void *) 1; + } + + ngx_thread_set_tls(tls); + if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { return (void *) 1; } |