Mercurial > hg > nginx
comparison src/os/unix/ngx_freebsd_rfork_thread.c @ 372:c9fdfccebc49
nginx-0.0.7-2004-06-29-01:03:14 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 28 Jun 2004 21:03:14 +0000 |
parents | 780e93985b93 |
children | 744ccb59062d |
comparison
equal
deleted
inserted
replaced
371:780e93985b93 | 372:c9fdfccebc49 |
---|---|
397 "semop() failed while waiting " | 397 "semop() failed while waiting " |
398 "on mutex " PTR_FMT, m); | 398 "on mutex " PTR_FMT, m); |
399 return NGX_ERROR; | 399 return NGX_ERROR; |
400 } | 400 } |
401 | 401 |
402 ngx_log_debug2(NGX_LOG_DEBUG_CORE, m->log, 0, | |
403 "mutex waked up " PTR_FMT " lock:%X", | |
404 m, m->lock); | |
405 | |
402 tries = 0; | 406 tries = 0; |
403 old = m->lock; | 407 old = m->lock; |
404 continue; | 408 continue; |
405 } | 409 } |
406 | 410 |
502 lock = old - 1; | 506 lock = old - 1; |
503 | 507 |
504 if (ngx_atomic_cmp_set(&m->lock, old, lock)) { | 508 if (ngx_atomic_cmp_set(&m->lock, old, lock)) { |
505 | 509 |
506 /* wake up the thread that waits on semaphore */ | 510 /* wake up the thread that waits on semaphore */ |
511 | |
512 ngx_log_debug1(NGX_LOG_DEBUG_CORE, m->log, 0, | |
513 "wake up mutex " PTR_FMT "", m); | |
507 | 514 |
508 op.sem_num = 0; | 515 op.sem_num = 0; |
509 op.sem_op = 1; | 516 op.sem_op = 1; |
510 op.sem_flg = SEM_UNDO; | 517 op.sem_flg = SEM_UNDO; |
511 | 518 |