comparison src/os/unix/ngx_thread.h @ 371:780e93985b93

nginx-0.0.7-2004-06-28-20:05:02 import
author Igor Sysoev <igor@sysoev.ru>
date Mon, 28 Jun 2004 16:05:02 +0000
parents 54f76b0b8dca
children c9fdfccebc49
comparison
equal deleted inserted replaced
370:54f76b0b8dca 371:780e93985b93
35 int semid; 35 int semid;
36 } ngx_mutex_t; 36 } ngx_mutex_t;
37 37
38 38
39 typedef struct { 39 typedef struct {
40 ngx_mutex_t mutex; 40 int semid;
41 } ngx_cv_t; 41 ngx_log_t *log;
42 } ngx_cond_t;
42 43
43 44
44 #define ngx_thread_sigmask(how, set, oset) \ 45 #define ngx_thread_sigmask(how, set, oset) \
45 (sigprocmask(how, set, oset) == -1) ? ngx_errno : 0 46 (sigprocmask(how, set, oset) == -1) ? ngx_errno : 0
46 47
105 #define ngx_mutex_lock(m) ngx_mutex_dolock(m, 0) 106 #define ngx_mutex_lock(m) ngx_mutex_dolock(m, 0)
106 ngx_int_t ngx_mutex_dolock(ngx_mutex_t *m, ngx_int_t try); 107 ngx_int_t ngx_mutex_dolock(ngx_mutex_t *m, ngx_int_t try);
107 ngx_int_t ngx_mutex_unlock(ngx_mutex_t *m); 108 ngx_int_t ngx_mutex_unlock(ngx_mutex_t *m);
108 109
109 110
110 ngx_cv_t *ngx_cv_init(ngx_log_t *log); 111 ngx_cond_t *ngx_cond_init(ngx_log_t *log);
111 void ngx_cv_done(ngx_cv_t *cv); 112 void ngx_cond_done(ngx_cond_t *cv);
112 ngx_int_t ngx_cv_wait(ngx_cv_t *cv); 113 ngx_int_t ngx_cond_wait(ngx_cond_t *cv, ngx_mutex_t *m);
113 ngx_int_t ngx_cv_signal(ngx_cv_t *cv); 114 ngx_int_t ngx_cond_signal(ngx_cond_t *cv);
114 115
115 116
116 #else /* !NGX_THREADS */ 117 #else /* !NGX_THREADS */
117 118
118 #define ngx_thread_volatile 119 #define ngx_thread_volatile