comparison src/event/ngx_event_mutex.c @ 10:46833bd150cb NGINX_0_1_5

nginx 0.1.5 *) Bugfix: on Solaris and Linux there may be too many "recvmsg() returned not enough data" alerts. *) Bugfix: there were the "writev() failed (22: Invalid argument)" errors on Solaris in proxy mode without sendfile. On other platforms that do not support sendfile at all the process got caught in an endless loop. *) Bugfix: segmentation fault on Solaris in proxy mode and using sendfile. *) Bugfix: segmentation fault on Solaris. *) Bugfix: on-line upgrade did not work on Linux. *) Bugfix: the ngx_http_autoindex_module module did not escape the spaces, the quotes, and the percent signs in the directory listing. *) Change: the decrease of the copy operations. *) Feature: the userid_p3p directive.
author Igor Sysoev <http://sysoev.ru>
date Thu, 11 Nov 2004 00:00:00 +0300
parents f0b350454894
children d0f7a625f27c
comparison
equal deleted inserted replaced
9:77eee314ddbd 10:46833bd150cb
11 11
12 ngx_int_t ngx_event_mutex_timedlock(ngx_event_mutex_t *m, ngx_msec_t timer, 12 ngx_int_t ngx_event_mutex_timedlock(ngx_event_mutex_t *m, ngx_msec_t timer,
13 ngx_event_t *ev) 13 ngx_event_t *ev)
14 { 14 {
15 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, 15 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0,
16 "lock event mutex " PTR_FMT " lock:%X", m, m->lock); 16 "lock event mutex %p lock:%XD", m, m->lock);
17 17
18 if (m->lock) { 18 if (m->lock) {
19 19
20 if (m->events == NULL) { 20 if (m->events == NULL) {
21 m->events = ev; 21 m->events = ev;
46 { 46 {
47 ngx_event_t *ev; 47 ngx_event_t *ev;
48 48
49 if (m->lock == 0) { 49 if (m->lock == 0) {
50 ngx_log_error(NGX_LOG_ALERT, log, 0, 50 ngx_log_error(NGX_LOG_ALERT, log, 0,
51 "tring to unlock the free event mutex " PTR_FMT, m); 51 "tring to unlock the free event mutex %p", m);
52 return NGX_ERROR; 52 return NGX_ERROR;
53 } 53 }
54 54
55 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, log, 0, 55 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, log, 0,
56 "unlock event mutex " PTR_FMT ", next event: " PTR_FMT, 56 "unlock event mutex %p, next event: %p", m, m->events);
57 m, m->events);
58 57
59 m->lock = 0; 58 m->lock = 0;
60 59
61 if (m->events) { 60 if (m->events) {
62 ev = m->events; 61 ev = m->events;