Mercurial > hg > nginx
comparison src/os/unix/ngx_process_cycle.c @ 381:02a511569afb
nginx-0.0.7-2004-07-07-19:01:00 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 07 Jul 2004 15:01:00 +0000 |
parents | 5ce6561246a5 |
children | 449c4885dcd1 |
comparison
equal
deleted
inserted
replaced
380:5ce6561246a5 | 381:02a511569afb |
---|---|
524 | 524 |
525 | 525 |
526 static void ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data) | 526 static void ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data) |
527 { | 527 { |
528 sigset_t set; | 528 sigset_t set; |
529 ngx_err_t err; | |
529 ngx_int_t n; | 530 ngx_int_t n; |
530 ngx_uint_t i; | 531 ngx_uint_t i; |
531 ngx_listening_t *ls; | 532 ngx_listening_t *ls; |
532 ngx_core_conf_t *ccf; | 533 ngx_core_conf_t *ccf; |
533 ngx_connection_t *c; | 534 ngx_connection_t *c; |
635 { | 636 { |
636 /* fatal */ | 637 /* fatal */ |
637 exit(2); | 638 exit(2); |
638 } | 639 } |
639 | 640 |
641 err = ngx_thread_key_create(&ngx_core_tls_key); | |
642 if (err != 0) { | |
643 ngx_log_error(NGX_LOG_ALERT, cycle->log, err, | |
644 ngx_thread_key_create_n " failed"); | |
645 /* fatal */ | |
646 exit(2); | |
647 } | |
648 | |
640 for (n = 0; n < ngx_threads_n; n++) { | 649 for (n = 0; n < ngx_threads_n; n++) { |
641 | 650 |
642 if (!(ngx_threads[n].cv = ngx_cond_init(cycle->log))) { | 651 if (!(ngx_threads[n].cv = ngx_cond_init(cycle->log))) { |
643 /* fatal */ | 652 /* fatal */ |
644 exit(2); | 653 exit(2); |
827 { | 836 { |
828 ngx_thread_t *thr = data; | 837 ngx_thread_t *thr = data; |
829 | 838 |
830 sigset_t set; | 839 sigset_t set; |
831 ngx_err_t err; | 840 ngx_err_t err; |
832 ngx_tls_t *tls; | 841 ngx_core_tls_t *tls; |
833 ngx_cycle_t *cycle; | 842 ngx_cycle_t *cycle; |
834 struct timeval tv; | 843 struct timeval tv; |
835 | 844 |
836 thr->cv->tid = ngx_thread_self(); | 845 thr->cv->tid = ngx_thread_self(); |
837 | 846 |
852 ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, ngx_errno, | 861 ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, ngx_errno, |
853 "thread " TID_T_FMT " started", ngx_thread_self()); | 862 "thread " TID_T_FMT " started", ngx_thread_self()); |
854 | 863 |
855 ngx_setthrtitle("worker thread"); | 864 ngx_setthrtitle("worker thread"); |
856 | 865 |
857 if (!(tls = ngx_calloc(sizeof(ngx_tls_t), cycle->log))) { | 866 if (!(tls = ngx_calloc(sizeof(ngx_core_tls_t), cycle->log))) { |
858 return (void *) 1; | 867 return (void *) 1; |
859 } | 868 } |
860 | 869 |
861 err = ngx_thread_create_tls(); | 870 err = ngx_thread_set_tls(ngx_core_tls_key, tls); |
862 if (err != 0) { | 871 if (err != 0) { |
863 ngx_log_error(NGX_LOG_ALERT, cycle->log, err, | 872 ngx_log_error(NGX_LOG_ALERT, cycle->log, err, |
864 ngx_thread_create_tls_n " failed"); | 873 ngx_thread_set_tls_n " failed"); |
865 return (void *) 1; | 874 return (void *) 1; |
866 } | 875 } |
867 | |
868 ngx_thread_set_tls(tls); | |
869 | 876 |
870 if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { | 877 if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { |
871 return (void *) 1; | 878 return (void *) 1; |
872 } | 879 } |
873 | 880 |
881 if (ngx_terminate) { | 888 if (ngx_terminate) { |
882 thr->state = NGX_THREAD_EXIT; | 889 thr->state = NGX_THREAD_EXIT; |
883 | 890 |
884 ngx_mutex_unlock(ngx_posted_events_mutex); | 891 ngx_mutex_unlock(ngx_posted_events_mutex); |
885 | 892 |
886 ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, ngx_errno, | 893 ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, 0, |
887 "thread %d is done", ngx_thread_self()); | 894 "thread %d is done", ngx_thread_self()); |
888 | 895 |
889 return (void *) 0; | 896 return (void *) 0; |
890 } | 897 } |
891 | 898 |
897 | 904 |
898 if (ngx_event_thread_process_posted(cycle) == NGX_ERROR) { | 905 if (ngx_event_thread_process_posted(cycle) == NGX_ERROR) { |
899 return (void *) 1; | 906 return (void *) 1; |
900 } | 907 } |
901 | 908 |
902 if (ngx_process_changes(cycle, 1) == NGX_ERROR) { | 909 if (ngx_process_changes) { |
903 return (void *) 1; | 910 if (ngx_process_changes(cycle, 1) == NGX_ERROR) { |
911 return (void *) 1; | |
912 } | |
904 } | 913 } |
905 } | 914 } |
906 } | 915 } |
907 | 916 |
908 #endif | 917 #endif |