aboutsummaryrefslogtreecommitdiff
path: root/src/os/unix/ngx_process_cycle.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-07-06 16:12:16 +0000
committerIgor Sysoev <igor@sysoev.ru>2004-07-06 16:12:16 +0000
commit81a432a185bc61d46a4d5eb1f96773ee7b3dc6a3 (patch)
tree2fc767b2b984c999342761308464c701c6d09457 /src/os/unix/ngx_process_cycle.c
parent40e877165a22f19359344d897c68da4fce62f6c1 (diff)
downloadnginx-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.c20
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;
}