diff src/os/unix/ngx_process_cycle.c @ 379:73688d5d7fc3

nginx-0.0.7-2004-07-06-20:12:16 import
author Igor Sysoev <igor@sysoev.ru>
date Tue, 06 Jul 2004 16:12:16 +0000
parents 41437e4fd9b4
children 5ce6561246a5
line wrap: on
line diff
--- 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(voi
 {
     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(voi
 
     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;
     }