Mercurial > hg > nginx
comparison src/os/unix/ngx_thread.h @ 370:54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 27 Jun 2004 18:01:57 +0000 |
parents | 4b1a3a4acc60 |
children | 780e93985b93 |
comparison
equal
deleted
inserted
replaced
369:9c2515d70489 | 370:54f76b0b8dca |
---|---|
32 typedef volatile struct { | 32 typedef volatile struct { |
33 ngx_atomic_t lock; | 33 ngx_atomic_t lock; |
34 ngx_log_t *log; | 34 ngx_log_t *log; |
35 int semid; | 35 int semid; |
36 } ngx_mutex_t; | 36 } ngx_mutex_t; |
37 | |
38 | |
39 typedef struct { | |
40 ngx_mutex_t mutex; | |
41 } ngx_cv_t; | |
37 | 42 |
38 | 43 |
39 #define ngx_thread_sigmask(how, set, oset) \ | 44 #define ngx_thread_sigmask(how, set, oset) \ |
40 (sigprocmask(how, set, oset) == -1) ? ngx_errno : 0 | 45 (sigprocmask(how, set, oset) == -1) ? ngx_errno : 0 |
41 | 46 |
100 #define ngx_mutex_lock(m) ngx_mutex_dolock(m, 0) | 105 #define ngx_mutex_lock(m) ngx_mutex_dolock(m, 0) |
101 ngx_int_t ngx_mutex_dolock(ngx_mutex_t *m, ngx_int_t try); | 106 ngx_int_t ngx_mutex_dolock(ngx_mutex_t *m, ngx_int_t try); |
102 ngx_int_t ngx_mutex_unlock(ngx_mutex_t *m); | 107 ngx_int_t ngx_mutex_unlock(ngx_mutex_t *m); |
103 | 108 |
104 | 109 |
110 ngx_cv_t *ngx_cv_init(ngx_log_t *log); | |
111 void ngx_cv_done(ngx_cv_t *cv); | |
112 ngx_int_t ngx_cv_wait(ngx_cv_t *cv); | |
113 ngx_int_t ngx_cv_signal(ngx_cv_t *cv); | |
114 | |
115 | |
105 #else /* !NGX_THREADS */ | 116 #else /* !NGX_THREADS */ |
106 | 117 |
107 #define ngx_thread_volatile | 118 #define ngx_thread_volatile |
108 | 119 |
109 #define ngx_log_tid 0 | 120 #define ngx_log_tid 0 |