diff options
author | Igor Sysoev <igor@sysoev.ru> | 2004-11-11 17:07:14 +0300 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2004-11-11 17:07:14 +0300 |
commit | 1b73583ba2c0e4b72d951218827e0c621427d389 (patch) | |
tree | 9e4d204e2cce91560d5cb8908b8a1a9f2c1d92ee /src/event | |
parent | d6f24959428caed68a509a19ca4fd866d978a69c (diff) |
nginx-0.1.5-RELEASE importrelease-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.
Diffstat (limited to 'src/event')
-rw-r--r-- | src/event/modules/ngx_aio_module.c | 4 | ||||
-rw-r--r-- | src/event/modules/ngx_devpoll_module.c | 12 | ||||
-rw-r--r-- | src/event/modules/ngx_epoll_module.c | 14 | ||||
-rw-r--r-- | src/event/modules/ngx_iocp_module.c | 100 | ||||
-rw-r--r-- | src/event/modules/ngx_kqueue_module.c | 9 | ||||
-rw-r--r-- | src/event/modules/ngx_poll_module.c | 12 | ||||
-rw-r--r-- | src/event/modules/ngx_rtsig_module.c | 4 | ||||
-rw-r--r-- | src/event/modules/ngx_select_module.c | 24 | ||||
-rw-r--r-- | src/event/ngx_event.c | 29 | ||||
-rw-r--r-- | src/event/ngx_event.h | 6 | ||||
-rw-r--r-- | src/event/ngx_event_accept.c | 29 | ||||
-rw-r--r-- | src/event/ngx_event_acceptex.c | 94 | ||||
-rw-r--r-- | src/event/ngx_event_connect.c | 8 | ||||
-rw-r--r-- | src/event/ngx_event_connect.h | 2 | ||||
-rw-r--r-- | src/event/ngx_event_connectex.c | 2 | ||||
-rw-r--r-- | src/event/ngx_event_mutex.c | 7 | ||||
-rw-r--r-- | src/event/ngx_event_openssl.c | 26 | ||||
-rw-r--r-- | src/event/ngx_event_pipe.c | 35 | ||||
-rw-r--r-- | src/event/ngx_event_posted.c | 13 | ||||
-rw-r--r-- | src/event/ngx_event_posted.h | 6 | ||||
-rw-r--r-- | src/event/ngx_event_timer.c | 5 | ||||
-rw-r--r-- | src/event/ngx_event_timer.h | 4 |
22 files changed, 256 insertions, 189 deletions
diff --git a/src/event/modules/ngx_aio_module.c b/src/event/modules/ngx_aio_module.c index 483d6752b..398c57102 100644 --- a/src/event/modules/ngx_aio_module.c +++ b/src/event/modules/ngx_aio_module.c @@ -110,6 +110,10 @@ static int ngx_aio_del_connection(ngx_connection_t *c, u_int flags) return NGX_OK; } + if (flags & NGX_CLOSE_EVENT) { + return NGX_OK; + } + rc = aio_cancel(c->fd, NULL); ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "aio_cancel: %d", rc); diff --git a/src/event/modules/ngx_devpoll_module.c b/src/event/modules/ngx_devpoll_module.c index ea1d19b20..663e2bfef 100644 --- a/src/event/modules/ngx_devpoll_module.c +++ b/src/event/modules/ngx_devpoll_module.c @@ -208,7 +208,7 @@ static int ngx_devpoll_add_event(ngx_event_t *ev, int event, u_int flags) #if (NGX_DEBUG) c = ev->data; ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "devpoll add event: fd:%d ev:%04X", c->fd, event); + "devpoll add event: fd:%d ev:%04Xd", c->fd, event); #endif ev->active = 1; @@ -229,7 +229,7 @@ static int ngx_devpoll_del_event(ngx_event_t *ev, int event, u_int flags) #endif ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "devpoll del event: fd:%d ev:%04X", c->fd, event); + "devpoll del event: fd:%d ev:%04Xd", c->fd, event); if (ngx_devpoll_set_event(ev, POLLREMOVE, flags) == NGX_ERROR) { return NGX_ERROR; @@ -268,7 +268,7 @@ static int ngx_devpoll_set_event(ngx_event_t *ev, int event, u_int flags) c = ev->data; ngx_log_debug3(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "devpoll fd:%d ev:%04X fl:%04X", c->fd, event, flags); + "devpoll fd:%d ev:%04Xd fl:%04Xd", c->fd, event, flags); if (nchanges >= max_changes) { ngx_log_error(NGX_LOG_WARN, ev->log, 0, @@ -453,13 +453,13 @@ int ngx_devpoll_process_events(ngx_cycle_t *cycle) } ngx_log_debug3(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "devpoll: fd:%d, ev:%04X, rev:%04X", + "devpoll: fd:%d, ev:%04Xd, rev:%04Xd", event_list[i].fd, event_list[i].events, event_list[i].revents); if (event_list[i].revents & (POLLERR|POLLHUP|POLLNVAL)) { ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, - "ioctl(DP_POLL) error fd:%d ev:%04X rev:%04X", + "ioctl(DP_POLL) error fd:%d ev:%04Xd rev:%04Xd", event_list[i].fd, event_list[i].events, event_list[i].revents); } @@ -468,7 +468,7 @@ int ngx_devpoll_process_events(ngx_cycle_t *cycle) { ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, "strange ioctl(DP_POLL) events " - "fd:%d ev:%04X rev:%04X", + "fd:%d ev:%04Xd rev:%04Xd", event_list[i].fd, event_list[i].events, event_list[i].revents); } diff --git a/src/event/modules/ngx_epoll_module.c b/src/event/modules/ngx_epoll_module.c index 45791e9c7..8096932ec 100644 --- a/src/event/modules/ngx_epoll_module.c +++ b/src/event/modules/ngx_epoll_module.c @@ -232,7 +232,7 @@ static int ngx_epoll_add_event(ngx_event_t *ev, int event, u_int flags) ee.data.ptr = (void *) ((uintptr_t) c | ev->instance); ngx_log_debug3(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "epoll add event: fd:%d op:%d ev:%08X", + "epoll add event: fd:%d op:%d ev:%08XD", c->fd, op, ee.events); if (epoll_ctl(ep, op, c->fd, &ee) == -1) { @@ -291,7 +291,7 @@ static int ngx_epoll_del_event(ngx_event_t *ev, int event, u_int flags) } ngx_log_debug3(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "epoll del event: fd:%d op:%d ev:%08X", + "epoll del event: fd:%d op:%d ev:%08XD", c->fd, op, ee.events); if (epoll_ctl(ep, op, c->fd, &ee) == -1) { @@ -314,7 +314,7 @@ static int ngx_epoll_add_connection(ngx_connection_t *c) ee.data.ptr = (void *) ((uintptr_t) c | c->read->instance); ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, - "epoll add connection: fd:%d ev:%08X", c->fd, ee.events); + "epoll add connection: fd:%d ev:%08XD", c->fd, ee.events); if (epoll_ctl(ep, EPOLL_CTL_ADD, c->fd, &ee) == -1) { ngx_log_error(NGX_LOG_ALERT, c->log, ngx_errno, @@ -513,7 +513,7 @@ int ngx_epoll_process_events(ngx_cycle_t *cycle) */ ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "epoll: stale event " PTR_FMT, c); + "epoll: stale event %p", c); continue; } @@ -522,18 +522,18 @@ int ngx_epoll_process_events(ngx_cycle_t *cycle) #endif ngx_log_debug3(NGX_LOG_DEBUG_EVENT, log, 0, - "epoll: fd:%d ev:%04X d:" PTR_FMT, + "epoll: fd:%d ev:%04XD d:%p", c->fd, event_list[i].events, event_list[i].data); if (event_list[i].events & (EPOLLERR|EPOLLHUP)) { ngx_log_debug2(NGX_LOG_DEBUG_EVENT, log, 0, - "epoll_wait() error on fd:%d ev:%04X", + "epoll_wait() error on fd:%d ev:%04XD", c->fd, event_list[i].events); } if (event_list[i].events & ~(EPOLLIN|EPOLLOUT|EPOLLERR|EPOLLHUP)) { ngx_log_error(NGX_LOG_ALERT, log, 0, - "strange epoll_wait() events fd:%d ev:%04X", + "strange epoll_wait() events fd:%d ev:%04XD", c->fd, event_list[i].events); } diff --git a/src/event/modules/ngx_iocp_module.c b/src/event/modules/ngx_iocp_module.c index 1d15c93f8..4a3cd9fe9 100644 --- a/src/event/modules/ngx_iocp_module.c +++ b/src/event/modules/ngx_iocp_module.c @@ -82,7 +82,7 @@ ngx_os_io_t ngx_iocp_io = { ngx_overlapped_wsarecv, NULL, NULL, - ngx_wsasend_chain, + ngx_overlapped_wsasend_chain, 0 }; @@ -138,7 +138,7 @@ static ngx_int_t ngx_iocp_add_event(ngx_event_t *ev, int event, u_int key) c->write->active = 1; ngx_log_debug3(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "iocp add: fd:%d k:%d ov:" PTR_FMT, c->fd, key, &ev->ovlp); + "iocp add: fd:%d k:%d ov:%p", c->fd, key, &ev->ovlp); if (CreateIoCompletionPort((HANDLE) c->fd, iocp, key, 0) == NULL) { ngx_log_error(NGX_LOG_ALERT, c->log, ngx_errno, @@ -152,10 +152,16 @@ static ngx_int_t ngx_iocp_add_event(ngx_event_t *ev, int event, u_int key) static ngx_int_t ngx_iocp_del_connection(ngx_connection_t *c, u_int flags) { +#if 0 + if (flags & NGX_CLOSE_EVENT) { + return NGX_OK; + } + if (CancelIo((HANDLE) c->fd) == 0) { ngx_log_error(NGX_LOG_ALERT, c->log, ngx_errno, "CancelIo() failed"); return NGX_ERROR; } +#endif return NGX_OK; } @@ -195,12 +201,19 @@ static ngx_int_t ngx_iocp_process_events(ngx_cycle_t *cycle) ngx_time_update(tv.tv_sec); ngx_log_debug4(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "iocp: %d b:%d k:%d ov:" PTR_FMT, rc, bytes, key, ovlp); + "iocp: %d b:%d k:%d ov:%p", rc, bytes, key, ovlp); delta = ngx_elapsed_msec; ngx_elapsed_msec = (ngx_epoch_msec_t) tv.tv_sec * 1000 + tv.tv_usec / 1000 - ngx_start_msec; + if (timer != INFINITE) { + delta = ngx_elapsed_msec - delta; + + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0, + "iocp timer: %d, delta: %d", timer, (int) delta); + } + if (err) { if (ovlp == NULL) { if (err != WAIT_TIMEOUT) { @@ -210,49 +223,76 @@ static ngx_int_t ngx_iocp_process_events(ngx_cycle_t *cycle) return NGX_ERROR; } - } else { - ovlp->error = err; + if (timer != INFINITE && delta) { + ngx_event_expire_timers((ngx_msec_t) delta); + } + + return NGX_OK; } - } - if (timer != INFINITE) { - delta = ngx_elapsed_msec - delta; + ovlp->error = err; + } - ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "iocp timer: %d, delta: %d", timer, (int) delta); + if (ovlp == NULL) { + ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, + "GetQueuedCompletionStatus() returned no operation"); + return NGX_ERROR; } - if (ovlp) { - ev = ovlp->event; - ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "iocp event:" PTR_FMT, ev); + ev = ovlp->event; - switch (key) { + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, err, "iocp event:%p", ev); - case NGX_IOCP_ACCEPT: - if (bytes) { - ev->ready = 1; - } - break; - case NGX_IOCP_IO: - ev->complete = 1; - ev->ready = 1; - break; + if (err == ERROR_NETNAME_DELETED /* the socket was closed */ + || err == ERROR_OPERATION_ABORTED /* the operation was canceled */) + { - case NGX_IOCP_CONNECT: - ev->ready = 1; + /* + * the WSA_OPERATION_ABORTED completion notification + * for a file descriptor that was closed + */ + + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, err, + "iocp: aborted event %p", ev); + + if (timer != INFINITE && delta) { + ngx_event_expire_timers((ngx_msec_t) delta); } - ev->available = bytes; + return NGX_OK; + } - ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "iocp event handler: " PTR_FMT, ev->event_handler); + if (err) { + ngx_log_error(NGX_LOG_ALERT, cycle->log, err, + "GetQueuedCompletionStatus() returned operation error"); + } - ev->event_handler(ev); + switch (key) { + + case NGX_IOCP_ACCEPT: + if (bytes) { + ev->ready = 1; + } + break; + + case NGX_IOCP_IO: + ev->complete = 1; + ev->ready = 1; + break; + + case NGX_IOCP_CONNECT: + ev->ready = 1; } + ev->available = bytes; + + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, + "iocp event handler: %p", ev->event_handler); + + ev->event_handler(ev); + if (timer != INFINITE && delta) { ngx_event_expire_timers((ngx_msec_t) delta); } diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c index e6bebb559..e0fae6f93 100644 --- a/src/event/modules/ngx_kqueue_module.c +++ b/src/event/modules/ngx_kqueue_module.c @@ -367,7 +367,7 @@ static ngx_int_t ngx_kqueue_set_event(ngx_event_t *ev, int filter, u_int flags) c = ev->data; ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0, - "kevent set event: %d: ft:%d fl:%04X", + "kevent set event: %d: ft:%d fl:%04Xd", c->fd, filter, flags); if (nchanges >= max_changes) { @@ -599,7 +599,7 @@ static ngx_int_t ngx_kqueue_process_events(ngx_cycle_t *cycle) */ ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "kevent: stale event " PTR_FMT, ev); + "kevent: stale event %p", ev); continue; } @@ -776,9 +776,8 @@ static ngx_inline void ngx_kqueue_dump_event(ngx_log_t *log, struct kevent *kev) { ngx_log_debug6(NGX_LOG_DEBUG_EVENT, log, 0, (kev->ident > 0x8000000 && kev->ident != (unsigned) -1) ? - "kevent: " PTR_FMT ": ft:%d fl:%04X ff:%08X d:%d ud:" - PTR_FMT: - "kevent: %d: ft:%d fl:%04X ff:%08X d:%d ud:" PTR_FMT, + "kevent: %p: ft:%d fl:%04Xd ff:%08Xd d:%d ud:%p": + "kevent: %d: ft:%d fl:%04Xd ff:%08Xd d:%d ud:%p", kev->ident, kev->filter, kev->flags, kev->fflags, kev->data, kev->udata); diff --git a/src/event/modules/ngx_poll_module.c b/src/event/modules/ngx_poll_module.c index bf78e8f37..18f72c3b5 100644 --- a/src/event/modules/ngx_poll_module.c +++ b/src/event/modules/ngx_poll_module.c @@ -302,7 +302,7 @@ static ngx_int_t ngx_poll_process_events(ngx_cycle_t *cycle) if (cycle->log->log_level & NGX_LOG_DEBUG_ALL) { for (i = 0; i < nevents; i++) { ngx_log_debug3(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "poll: %d: fd:%d ev:%04X", + "poll: %d: fd:%d ev:%04Xd", i, event_list[i].fd, event_list[i].events); } } @@ -380,13 +380,13 @@ static ngx_int_t ngx_poll_process_events(ngx_cycle_t *cycle) #if 0 ngx_log_debug4(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "poll: %d: fd:%d ev:%04X rev:%04X", + "poll: %d: fd:%d ev:%04Xd rev:%04Xd", i, event_list[i].fd, event_list[i].events, event_list[i].revents); #else if (event_list[i].revents) { ngx_log_debug4(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "poll: %d: fd:%d ev:%04X rev:%04X", + "poll: %d: fd:%d ev:%04Xd rev:%04Xd", i, event_list[i].fd, event_list[i].events, event_list[i].revents); } @@ -394,7 +394,7 @@ static ngx_int_t ngx_poll_process_events(ngx_cycle_t *cycle) if (event_list[i].revents & POLLNVAL) { ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, - "poll() error fd:%d ev:%04X rev:%04X", + "poll() error fd:%d ev:%04Xd rev:%04Xd", event_list[i].fd, event_list[i].events, event_list[i].revents); } @@ -402,7 +402,7 @@ static ngx_int_t ngx_poll_process_events(ngx_cycle_t *cycle) if (event_list[i].revents & ~(POLLIN|POLLOUT|POLLERR|POLLHUP|POLLNVAL)) { ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, - "strange poll() events fd:%d ev:%04X rev:%04X", + "strange poll() events fd:%d ev:%04Xd rev:%04Xd", event_list[i].fd, event_list[i].events, event_list[i].revents); } @@ -529,7 +529,7 @@ static ngx_int_t ngx_poll_process_events(ngx_cycle_t *cycle) for ( ;; ) { ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "accept event " PTR_FMT, ev); + "accept event %p", ev); if (ev == NULL) { break; diff --git a/src/event/modules/ngx_rtsig_module.c b/src/event/modules/ngx_rtsig_module.c index 4f2f48097..3c0ea9511 100644 --- a/src/event/modules/ngx_rtsig_module.c +++ b/src/event/modules/ngx_rtsig_module.c @@ -383,7 +383,7 @@ ngx_int_t ngx_rtsig_process_events(ngx_cycle_t *cycle) } else { err = 0; ngx_log_debug3(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "rtsig signo:%d fd:%d band:%X", + "rtsig signo:%d fd:%d band:%04Xd", signo, si.si_fd, si.si_band); } @@ -434,7 +434,7 @@ ngx_int_t ngx_rtsig_process_events(ngx_cycle_t *cycle) ngx_accept_mutex_unlock(); ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "rtsig: stale event " PTR_FMT, c); + "rtsig: stale event %p", c); return NGX_OK; } diff --git a/src/event/modules/ngx_select_module.c b/src/event/modules/ngx_select_module.c index 06ca4b32d..14e6f81a3 100644 --- a/src/event/modules/ngx_select_module.c +++ b/src/event/modules/ngx_select_module.c @@ -23,7 +23,7 @@ static fd_set master_write_fd_set; static fd_set work_read_fd_set; static fd_set work_write_fd_set; -#if (WIN32) +#if (NGX_WIN32) static int max_read; static int max_write; #else @@ -114,7 +114,7 @@ static ngx_int_t ngx_select_init(ngx_cycle_t *cycle) ngx_event_flags = NGX_USE_LEVEL_EVENT|NGX_USE_ONESHOT_EVENT; -#if (WIN32) +#if (NGX_WIN32) max_read = max_write = 0; #else max_fd = -1; @@ -150,7 +150,7 @@ static ngx_int_t ngx_select_add_event(ngx_event_t *ev, int event, u_int flags) return NGX_OK; } -#if (WIN32) +#if (NGX_WIN32) if ((event == NGX_READ_EVENT) && (max_read >= FD_SETSIZE) || (event == NGX_WRITE_EVENT) && (max_write >= FD_SETSIZE)) @@ -211,7 +211,7 @@ static ngx_int_t ngx_select_del_event(ngx_event_t *ev, int event, u_int flags) ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, "select del event fd:%d ev:%d", c->fd, event); -#if (WIN32) +#if (NGX_WIN32) if (event == NGX_READ_EVENT) { FD_CLR(c->fd, &master_read_fd_set); @@ -280,7 +280,7 @@ static ngx_int_t ngx_select_process_events(ngx_cycle_t *cycle) expire = 1; -#if !(WIN32) +#if !(NGX_WIN32) if (ngx_accept_mutex) { if (ngx_accept_disabled > 0) { @@ -324,7 +324,7 @@ static ngx_int_t ngx_select_process_events(ngx_cycle_t *cycle) "select event: fd:%d wr:%d", c->fd, ev->write); } -#if !(WIN32) +#if !(NGX_WIN32) ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, "max_fd: %d", max_fd); #endif @@ -348,9 +348,9 @@ static ngx_int_t ngx_select_process_events(ngx_cycle_t *cycle) work_write_fd_set = master_write_fd_set; ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "select read fd_set: %08X", *(int *) &work_read_fd_set); + "select read fd_set: %08Xd", *(int *) &work_read_fd_set); -#if (WIN32) +#if (NGX_WIN32) ready = select(0, &work_read_fd_set, &work_write_fd_set, NULL, tp); #else ready = select(max_fd + 1, &work_read_fd_set, &work_write_fd_set, NULL, tp); @@ -433,7 +433,7 @@ static ngx_int_t ngx_select_process_events(ngx_cycle_t *cycle) "select ready %d", ready); if (err) { -#if (WIN32) +#if (NGX_WIN32) ngx_log_error(NGX_LOG_ALERT, cycle->log, err, "select() failed"); #else ngx_log_error((err == NGX_EINTR) ? NGX_LOG_INFO : NGX_LOG_ALERT, @@ -534,7 +534,7 @@ static ngx_int_t ngx_select_process_events(ngx_cycle_t *cycle) for ( ;; ) { ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "accept event " PTR_FMT, ev); + "accept event %p", ev); if (ev == NULL) { break; @@ -597,7 +597,7 @@ static char *ngx_select_init_conf(ngx_cycle_t *cycle, void *conf) /* disable warning: the default FD_SETSIZE is 1024U in FreeBSD 5.x */ -#if !(WIN32) +#if !(NGX_WIN32) if ((unsigned) ecf->connections > FD_SETSIZE) { ngx_log_error(NGX_LOG_EMERG, cycle->log, 0, "the maximum number of files " @@ -606,7 +606,7 @@ static char *ngx_select_init_conf(ngx_cycle_t *cycle, void *conf) } #endif -#if (NGX_THREADS) +#if (NGX_THREADS) && !(NGX_WIN32) ngx_log_error(NGX_LOG_EMERG, cycle->log, 0, "select() is not supported in the threaded mode"); return NGX_CONF_ERROR; diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c index f006c6ba5..563cf4213 100644 --- a/src/event/ngx_event.c +++ b/src/event/ngx_event.c @@ -191,7 +191,7 @@ ngx_module_t ngx_event_core_module = { static ngx_int_t ngx_event_module_init(ngx_cycle_t *cycle) { -#if !(WIN32) +#if !(NGX_WIN32) size_t size; char *shared; @@ -240,7 +240,7 @@ static ngx_int_t ngx_event_module_init(ngx_cycle_t *cycle) #endif ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "counter: " PTR_FMT ", %d", + "counter: %p, %d", ngx_connection_counter, *ngx_connection_counter); #endif @@ -259,7 +259,7 @@ static ngx_int_t ngx_event_process_init(ngx_cycle_t *cycle) ngx_core_conf_t *ccf; ngx_event_conf_t *ecf; ngx_event_module_t *module; -#if (WIN32) +#if (NGX_WIN32) ngx_iocp_conf_t *iocpcf; #endif @@ -352,7 +352,7 @@ static ngx_int_t ngx_event_process_init(ngx_cycle_t *cycle) fd = s[i].fd; -#if (WIN32) +#if (NGX_WIN32) /* * Winsock assignes a socket number divisible by 4 * so to find a connection we divide a socket number by 4. @@ -412,10 +412,10 @@ static ngx_int_t ngx_event_process_init(ngx_cycle_t *cycle) } } -#if (WIN32) +#if (NGX_WIN32) if (ngx_event_flags & NGX_USE_IOCP_EVENT) { - rev->event_handler = &ngx_event_acceptex; + rev->event_handler = ngx_event_acceptex; if (ngx_add_event(rev, 0, NGX_IOCP_ACCEPT) == NGX_ERROR) { return NGX_ERROR; @@ -429,7 +429,8 @@ static ngx_int_t ngx_event_process_init(ngx_cycle_t *cycle) } } else { - rev->event_handler = &ngx_event_accept; + rev->event_handler = ngx_event_accept; + if (ngx_add_event(rev, NGX_READ_EVENT, 0) == NGX_ERROR) { return NGX_ERROR; } @@ -437,7 +438,7 @@ static ngx_int_t ngx_event_process_init(ngx_cycle_t *cycle) #else - rev->event_handler = &ngx_event_accept; + rev->event_handler = ngx_event_accept; if (ngx_accept_mutex) { continue; @@ -580,7 +581,7 @@ static char *ngx_event_connections(ngx_conf_t *cf, ngx_command_t *cmd, ecf->connections = ngx_atoi(value[1].data, value[1].len); if (ecf->connections == (ngx_uint_t) NGX_ERROR) { ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "invalid number \"%s\"", value[1].data); + "invalid number \"%V\"", &value[1]); return NGX_CONF_ERROR; } @@ -631,12 +632,12 @@ static char *ngx_event_use(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "when the server runs without a master process " - "the \"%s\" event type must be the same as " + "the \"%V\" event type must be the same as " "in previous configuration - \"%s\" " "and it can not be changed on the fly, " "to change it you need to stop server " "and start it again", - value[1].data, old_ecf->name); + &value[1], old_ecf->name); return NGX_CONF_ERROR; } @@ -647,7 +648,7 @@ static char *ngx_event_use(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) } ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "invalid event type \"%s\"", value[1].data); + "invalid event type \"%V\"", &value[1]); return NGX_CONF_ERROR; } @@ -681,7 +682,7 @@ static char *ngx_event_debug_connection(ngx_conf_t *cf, ngx_command_t *cmd, if (h == NULL || h->h_addr_list[0] == NULL) { ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, - "host %s not found", value[1].data); + "host \"%s\" not found", value[1].data); return NGX_CONF_ERROR; } @@ -755,7 +756,7 @@ static char *ngx_event_init_conf(ngx_cycle_t *cycle, void *conf) #elif (HAVE_SELECT) -#if (WIN32) +#if (NGX_WIN32) ngx_conf_init_unsigned_value(ecf->connections, DEFAULT_CONNECTIONS); #else ngx_conf_init_unsigned_value(ecf->connections, diff --git a/src/event/ngx_event.h b/src/event/ngx_event.h index f341a14c6..191b492d6 100644 --- a/src/event/ngx_event.h +++ b/src/event/ngx_event.h @@ -81,7 +81,7 @@ struct ngx_event_s { unsigned posted_ready:1; #endif -#if (WIN32) +#if (NGX_WIN32) /* setsockopt(SO_UPDATE_ACCEPT_CONTEXT) was succesfull */ unsigned accept_context_updated:1; #endif @@ -473,7 +473,7 @@ ngx_int_t ngx_disable_accept_events(ngx_cycle_t *cycle); ngx_int_t ngx_enable_accept_events(ngx_cycle_t *cycle); -#if (WIN32) +#if (NGX_WIN32) void ngx_event_acceptex(ngx_event_t *ev); int ngx_event_post_acceptex(ngx_listening_t *ls, int n); #endif @@ -490,7 +490,7 @@ ngx_int_t ngx_send_lowat(ngx_connection_t *c, size_t lowat); #include <ngx_event_posted.h> #include <ngx_event_busy_lock.h> -#if (WIN32) +#if (NGX_WIN32) #include <ngx_iocp_module.h> #endif diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c index 9ae5ccd11..085a65eb4 100644 --- a/src/event/ngx_event_accept.c +++ b/src/event/ngx_event_accept.c @@ -11,13 +11,13 @@ typedef struct { - int flag; - u_char *name; + int flag; + ngx_str_t *name; } ngx_accept_log_ctx_t; static void ngx_close_accepted_socket(ngx_socket_t s, ngx_log_t *log); -static size_t ngx_accept_log_error(void *data, char *buf, size_t len); +static u_char *ngx_accept_log_error(void *data, u_char *buf, size_t len); void ngx_event_accept(ngx_event_t *ev) @@ -46,8 +46,8 @@ void ngx_event_accept(ngx_event_t *ev) ls = ev->data; ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "accept on %s, ready: %d", - ls->listening->addr_text.data, ev->available); + "accept on %V, ready: %d", + &ls->listening->addr_text, ev->available); ev->ready = 0; accepted = 0; @@ -88,7 +88,7 @@ void ngx_event_accept(ngx_event_t *ev) /* -1 disables the connection number logging */ ctx->flag = -1; - ctx->name = ls->listening->addr_text.data; + ctx->name = &ls->listening->addr_text; log->data = ctx; log->handler = ngx_accept_log_error; @@ -114,8 +114,7 @@ void ngx_event_accept(ngx_event_t *ev) } ngx_log_error(NGX_LOG_ALERT, ev->log, err, - "accept() on %s failed", - ls->listening->addr_text.data); + "accept() on %V failed", &ls->listening->addr_text); if (err == NGX_ECONNABORTED) { if (ngx_event_flags & NGX_USE_KQUEUE_EVENT) { @@ -144,10 +143,10 @@ void ngx_event_accept(ngx_event_t *ev) if ((ngx_uint_t) s >= ecf->connections) { ngx_log_error(NGX_LOG_ALERT, ev->log, 0, - "accept() on %s returned socket #%d while " + "accept() on %V returned socket #%d while " "only %d connections was configured, " "closing the connection", - ls->listening->addr_text.data, s, ecf->connections); + &ls->listening->addr_text, s, ecf->connections); ngx_close_accepted_socket(s, log); ngx_destroy_pool(pool); @@ -185,7 +184,7 @@ void ngx_event_accept(ngx_event_t *ev) } } -#if (WIN32) +#if (NGX_WIN32) /* * Winsock assignes a socket number divisible by 4 * so to find a connection we divide a socket number by 4. @@ -193,9 +192,9 @@ void ngx_event_accept(ngx_event_t *ev) if (s % 4) { ngx_log_error(NGX_LOG_EMERG, ev->log, 0, - "accept() on %s returned socket #%d, " + "accept() on %V returned socket #%d, " "not divisible by 4", - ls->listening->addr_text.data, s); + &ls->listening->addr_text, s); exit(1); } @@ -467,9 +466,9 @@ static void ngx_close_accepted_socket(ngx_socket_t s, ngx_log_t *log) } -static size_t ngx_accept_log_error(void *data, char *buf, size_t len) +static u_char *ngx_accept_log_error(void *data, u_char *buf, size_t len) { ngx_accept_log_ctx_t *ctx = data; - return ngx_snprintf(buf, len, " while accept() on %s", ctx->name); + return ngx_snprintf(buf, len, " while accept() on %V", ctx->name); } diff --git a/src/event/ngx_event_acceptex.c b/src/event/ngx_event_acceptex.c index 9877b3b2e..486636b44 100644 --- a/src/event/ngx_event_acceptex.c +++ b/src/event/ngx_event_acceptex.c @@ -14,22 +14,24 @@ void ngx_event_acceptex(ngx_event_t *rev) { ngx_connection_t *c; - c = (ngx_connection_t *) rev->data; + c = rev->data; + + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "AcceptEx: %d", c->fd); if (rev->ovlp.error) { ngx_log_error(NGX_LOG_CRIT, c->log, rev->ovlp.error, - "AcceptEx() %s failed", c->listening->addr_text.data); + "AcceptEx() %V failed", &c->listening->addr_text); return; } /* SO_UPDATE_ACCEPT_CONTEXT is required for shutdown() to work */ if (setsockopt(c->fd, SOL_SOCKET, SO_UPDATE_ACCEPT_CONTEXT, - (char *)&c->listening->fd, sizeof(ngx_socket_t)) == -1) + (char *) &c->listening->fd, sizeof(ngx_socket_t)) == -1) { ngx_log_error(NGX_LOG_CRIT, c->log, ngx_socket_errno, - "setsockopt(SO_UPDATE_ACCEPT_CONTEXT) failed for %s", - c->addr_text.data); + "setsockopt(SO_UPDATE_ACCEPT_CONTEXT) failed for %V", + &c->addr_text); } else { c->accept_context_updated = 1; } @@ -49,6 +51,23 @@ void ngx_event_acceptex(ngx_event_t *rev) c->buffer = NULL; } + if (c->listening->addr_ntop) { + c->addr_text.data = ngx_palloc(c->pool, + c->listening->addr_text_max_len); + if (c->addr_text.data == NULL) { + /* TODO: close socket */ + return; + } + + c->addr_text.len = ngx_sock_ntop(c->listening->family, c->sockaddr, + c->addr_text.data, + c->listening->addr_text_max_len); + if (c->addr_text.len == 0) { + /* TODO: close socket */ + return; + } + } + ngx_event_post_acceptex(c->listening, 1); c->number = ngx_atomic_inc(ngx_connection_counter); @@ -73,10 +92,10 @@ int ngx_event_post_acceptex(ngx_listening_t *ls, int n) /* TODO: look up reused sockets */ - s = ngx_socket(ls->family, ls->type, ls->protocol, ls->flags); + s = ngx_socket(ls->family, ls->type, ls->protocol); - ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ls->log, 0, - ngx_socket_n " s:%d fl:%d", s, ls->flags); + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, ls->log, 0, + ngx_socket_n " s:%d", s); if (s == -1) { ngx_log_error(NGX_LOG_ALERT, ls->log, ngx_socket_errno, @@ -107,49 +126,60 @@ int ngx_event_post_acceptex(ngx_listening_t *ls, int n) ngx_memzero(rev, sizeof(ngx_event_t)); ngx_memzero(wev, sizeof(ngx_event_t)); - rev->index = wev->index = NGX_INVALID_INDEX; + c->listening = ls; + + rev->index = NGX_INVALID_INDEX; + wev->index = NGX_INVALID_INDEX; rev->ovlp.event = rev; wev->ovlp.event = wev; + rev->event_handler = ngx_event_acceptex; + + rev->data = c; + wev->data = c; - rev->data = wev->data = c; c->read = rev; c->write = wev; - c->listening = ls; c->fd = s; - - c->ctx = ls->ctx; - c->servers = ls->servers; - c->unexpected_eof = 1; - wev->write = 1; - rev->event_handler = ngx_event_acceptex; rev->ready = 1; + wev->write = 1; wev->ready = 1; - ngx_test_null(c->pool, - ngx_create_pool(ls->pool_size, ls->log), - NGX_ERROR); + c->ctx = ls->ctx; + c->servers = ls->servers; + + c->recv = ngx_recv; + c->send_chain = ngx_send_chain; + + if (!(c->pool = ngx_create_pool(ls->pool_size, ls->log))) { + return NGX_ERROR; + } - ngx_test_null(c->buffer, - ngx_create_temp_buf(c->pool, - ls->post_accept_buffer_size - + 2 * (c->listening->socklen + 16)), - NGX_ERROR); + c->buffer = ngx_create_temp_buf(c->pool, + ls->post_accept_buffer_size + + 2 * (c->listening->socklen + 16)); + if (c->buffer == NULL) { + return NGX_ERROR; + } - ngx_test_null(c->local_sockaddr, ngx_palloc(c->pool, ls->socklen), - NGX_ERROR); + if (!(c->local_sockaddr = ngx_palloc(c->pool, ls->socklen))) { + return NGX_ERROR; + } - ngx_test_null(c->sockaddr, ngx_palloc(c->pool, ls->socklen), - NGX_ERROR); + if (!(c->sockaddr = ngx_palloc(c->pool, ls->socklen))) { + return NGX_ERROR; + } - ngx_test_null(c->log, ngx_palloc(c->pool, sizeof(ngx_log_t)), - NGX_ERROR); + if (!(c->log = ngx_palloc(c->pool, sizeof(ngx_log_t)))) { + return NGX_ERROR; + } ngx_memcpy(c->log, ls->log, sizeof(ngx_log_t)); - c->read->log = c->write->log = c->log; + c->read->log = c->log; + c->write->log = c->log; if (ngx_add_event(rev, 0, NGX_IOCP_IO) == NGX_ERROR) { return NGX_ERROR; diff --git a/src/event/ngx_event_connect.c b/src/event/ngx_event_connect.c index b41eca771..c06896895 100644 --- a/src/event/ngx_event_connect.c +++ b/src/event/ngx_event_connect.c @@ -13,7 +13,7 @@ /* AF_INET only */ -int ngx_event_connect_peer(ngx_peer_connection_t *pc) +ngx_int_t ngx_event_connect_peer(ngx_peer_connection_t *pc) { int rc; ngx_uint_t instance; @@ -107,7 +107,7 @@ int ngx_event_connect_peer(ngx_peer_connection_t *pc) /* ngx_unlock_mutex(pc->peers->mutex); */ - s = ngx_socket(AF_INET, SOCK_STREAM, IPPROTO_IP, 0); + s = ngx_socket(AF_INET, SOCK_STREAM, IPPROTO_IP); if (s == -1) { ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno, @@ -165,7 +165,7 @@ int ngx_event_connect_peer(ngx_peer_connection_t *pc) return NGX_ERROR; } -#if (WIN32) +#if (NGX_WIN32) /* * Winsock assignes a socket number divisible by 4 * so to find a connection we divide a socket number by 4. @@ -261,7 +261,7 @@ int ngx_event_connect_peer(ngx_peer_connection_t *pc) addr.sin_addr.s_addr = peer->addr; ngx_log_debug2(NGX_LOG_DEBUG_EVENT, pc->log, 0, - "connect to %s, #%d", peer->addr_port_text.data, c->number); + "connect to %V, #%d", &peer->addr_port_text, c->number); rc = connect(s, (struct sockaddr *) &addr, sizeof(struct sockaddr_in)); diff --git a/src/event/ngx_event_connect.h b/src/event/ngx_event_connect.h index 345c2f994..04086941b 100644 --- a/src/event/ngx_event_connect.h +++ b/src/event/ngx_event_connect.h @@ -60,7 +60,7 @@ typedef struct { } ngx_peer_connection_t; -int ngx_event_connect_peer(ngx_peer_connection_t *pc); +ngx_int_t ngx_event_connect_peer(ngx_peer_connection_t *pc); void ngx_event_connect_peer_failed(ngx_peer_connection_t *pc); diff --git a/src/event/ngx_event_connectex.c b/src/event/ngx_event_connectex.c index f3ad2f578..30ccf980c 100644 --- a/src/event/ngx_event_connectex.c +++ b/src/event/ngx_event_connectex.c @@ -199,7 +199,7 @@ void ngx_iocp_wait_events(int main) ngx_log_error(NGX_LOG_ALERT, c[n].log, 0, "WSAWaitForMultipleEvents() " - "returned unexpected network event %lu", + "returned unexpected network event %ul", ne.lNetworkEvents); } } diff --git a/src/event/ngx_event_mutex.c b/src/event/ngx_event_mutex.c index ab4e6abc3..2335e5baf 100644 --- a/src/event/ngx_event_mutex.c +++ b/src/event/ngx_event_mutex.c @@ -13,7 +13,7 @@ ngx_int_t ngx_event_mutex_timedlock(ngx_event_mutex_t *m, ngx_msec_t timer, ngx_event_t *ev) { ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "lock event mutex " PTR_FMT " lock:%X", m, m->lock); + "lock event mutex %p lock:%XD", m, m->lock); if (m->lock) { @@ -48,13 +48,12 @@ ngx_int_t ngx_event_mutex_unlock(ngx_event_mutex_t *m, ngx_log_t *log) if (m->lock == 0) { ngx_log_error(NGX_LOG_ALERT, log, 0, - "tring to unlock the free event mutex " PTR_FMT, m); + "tring to unlock the free event mutex %p", m); return NGX_ERROR; } ngx_log_debug2(NGX_LOG_DEBUG_EVENT, log, 0, - "unlock event mutex " PTR_FMT ", next event: " PTR_FMT, - m, m->events); + "unlock event mutex %p, next event: %p", m, m->events); m->lock = 0; diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c index 7a7038d4f..b5c5b7256 100644 --- a/src/event/ngx_event_openssl.c +++ b/src/event/ngx_event_openssl.c @@ -73,7 +73,7 @@ ngx_int_t ngx_ssl_recv(ngx_connection_t *c, u_char *buf, size_t size) } if (!SSL_is_init_finished(c->ssl->ssl)) { - handshake = "in SSL handshake"; + handshake = " in SSL handshake"; } else { handshake = ""; @@ -269,7 +269,7 @@ static ngx_int_t ngx_ssl_write(ngx_connection_t *c, u_char *data, size_t size) if (sslerr == SSL_ERROR_WANT_READ) { if (!SSL_is_init_finished(c->ssl->ssl)) { - handshake = "in SSL handshake"; + handshake = " in SSL handshake"; } else { handshake = ""; @@ -310,6 +310,9 @@ ngx_int_t ngx_ssl_shutdown(ngx_connection_t *c) } again = 0; +#if (NGX_SUPPRESS_WARN) + sslerr = 0; +#endif for ( ;; ) { n = SSL_shutdown(c->ssl->ssl); @@ -366,23 +369,18 @@ ngx_int_t ngx_ssl_shutdown(ngx_connection_t *c) void ngx_ssl_error(ngx_uint_t level, ngx_log_t *log, ngx_err_t err, char *fmt, ...) { - int len; - char errstr[NGX_MAX_CONF_ERRSTR]; - va_list args; + u_char errstr[NGX_MAX_CONF_ERRSTR], *p, *last; + va_list args; + + last = errstr + NGX_MAX_CONF_ERRSTR; va_start(args, fmt); - len = ngx_vsnprintf(errstr, sizeof(errstr) - 1, fmt, args); + p = ngx_vsnprintf(errstr, sizeof(errstr) - 1, fmt, args); va_end(args); - errstr[len++] = ' '; - errstr[len++] = '('; - errstr[len++] = 'S'; - errstr[len++] = 'S'; - errstr[len++] = 'L'; - errstr[len++] = ':'; - errstr[len++] = ' '; + p = ngx_cpystrn(p, " (SSL: ", last - p); - ERR_error_string_n(ERR_get_error(), errstr + len, sizeof(errstr) - len - 1); + ERR_error_string_n(ERR_get_error(), (char *) p, last - p); ngx_log_error(level, log, err, "%s)", errstr); } diff --git a/src/event/ngx_event_pipe.c b/src/event/ngx_event_pipe.c index 24bc4d346..273941908 100644 --- a/src/event/ngx_event_pipe.c +++ b/src/event/ngx_event_pipe.c @@ -79,7 +79,8 @@ ngx_int_t ngx_event_pipe(ngx_event_pipe_t *p, int do_write) ngx_int_t ngx_event_pipe_read_upstream(ngx_event_pipe_t *p) { - int n, rc, size; + ssize_t n, size; + ngx_int_t rc; ngx_buf_t *b; ngx_chain_t *chain, *cl, *tl; @@ -109,7 +110,7 @@ ngx_int_t ngx_event_pipe_read_upstream(ngx_event_pipe_t *p) n = p->preread_size; ngx_log_debug1(NGX_LOG_DEBUG_EVENT, p->log, 0, - "pipe preread: %d", n); + "pipe preread: %z", n); if (n) { p->read = 1; @@ -197,7 +198,7 @@ ngx_int_t ngx_event_pipe_read_upstream(ngx_event_pipe_t *p) rc = ngx_event_pipe_write_chain_to_temp_file(p); ngx_log_debug1(NGX_LOG_DEBUG_EVENT, p->log, 0, - "pipe temp offset: %d", p->temp_file->offset); + "pipe temp offset: %O", p->temp_file->offset); if (rc == NGX_AGAIN) { if (ngx_event_flags & NGX_USE_LEVEL_EVENT @@ -237,7 +238,7 @@ ngx_int_t ngx_event_pipe_read_upstream(ngx_event_pipe_t *p) n = ngx_recv_chain(p->upstream, chain); ngx_log_debug1(NGX_LOG_DEBUG_EVENT, p->log, 0, - "pipe recv chain: %d", n); + "pipe recv chain: %z", n); if (p->free_raw_bufs) { chain->next = p->free_raw_bufs; @@ -303,7 +304,7 @@ ngx_int_t ngx_event_pipe_read_upstream(ngx_event_pipe_t *p) for (cl = p->busy; cl; cl = cl->next) { ngx_log_debug3(NGX_LOG_DEBUG_EVENT, p->log, 0, - "pipe buf busy " PTR_FMT ", pos " PTR_FMT ", size: %d", + "pipe buf busy %p, pos %p, size: %z", cl->buf->start, cl->buf->pos, cl->buf->last - cl->buf->pos); } @@ -311,9 +312,8 @@ ngx_int_t ngx_event_pipe_read_upstream(ngx_event_pipe_t *p) for (cl = p->out; cl; cl = cl->next) { if (cl->buf->in_file && cl->buf->temporary) { ngx_log_debug5(NGX_LOG_DEBUG_EVENT, p->log, 0, - "pipe buf out shadow " - PTR_FMT ", pos " PTR_FMT ", size: %d " - "file: " OFF_T_FMT ", size: %d", + "pipe buf out shadow %p, pos %p, size: %z " + "file: %O, size: %z", cl->buf->start, cl->buf->pos, cl->buf->last - cl->buf->pos, cl->buf->file_pos, @@ -321,13 +321,12 @@ ngx_int_t ngx_event_pipe_read_upstream(ngx_event_pipe_t *p) } else if (cl->buf->in_file) { ngx_log_debug2(NGX_LOG_DEBUG_EVENT, p->log, 0, - "pipe buf out file " OFF_T_FMT ", size: %d", + "pipe buf out file %O, size: %z", cl->buf->file_pos, cl->buf->file_last - cl->buf->file_pos); } else { ngx_log_debug3(NGX_LOG_DEBUG_EVENT, p->log, 0, - "pipe buf out " PTR_FMT ", pos " PTR_FMT - ", size: %d", + "pipe buf out %p, pos %p, size: %z", cl->buf->start, cl->buf->pos, cl->buf->last - cl->buf->pos); } @@ -335,14 +334,14 @@ ngx_int_t ngx_event_pipe_read_upstream(ngx_event_pipe_t *p) for (cl = p->in; cl; cl = cl->next) { ngx_log_debug3(NGX_LOG_DEBUG_EVENT, p->log, 0, - "pipe buf in " PTR_FMT ", pos " PTR_FMT ", size: %d", + "pipe buf in %p, pos %p, size: %z", cl->buf->start, cl->buf->pos, cl->buf->last - cl->buf->pos); } for (cl = p->free_raw_bufs; cl; cl = cl->next) { ngx_log_debug3(NGX_LOG_DEBUG_EVENT, p->log, 0, - "pipe buf free " PTR_FMT ", last " PTR_FMT ", size: %d", + "pipe buf free %p, last %p, size: %z", cl->buf->start, cl->buf->last, cl->buf->end - cl->buf->last); } @@ -443,7 +442,7 @@ ngx_int_t ngx_event_pipe_write_to_downstream(ngx_event_pipe_t *p) } ngx_log_debug1(NGX_LOG_DEBUG_EVENT, p->log, 0, - "pipe write busy: " SIZE_T_FMT, bsize); + "pipe write busy: %uz", bsize); out = NULL; ll = NULL; @@ -482,7 +481,7 @@ ngx_int_t ngx_event_pipe_write_to_downstream(ngx_event_pipe_t *p) } ngx_log_debug2(NGX_LOG_DEBUG_EVENT, p->log, 0, - "pipe write: out:" PTR_FMT ", f:%d", out, flush); + "pipe write: out:%p, f:%d", out, flush); if (out == NULL && !flush) { break; @@ -553,13 +552,13 @@ static ngx_int_t ngx_event_pipe_write_chain_to_temp_file(ngx_event_pipe_t *p) ll = NULL; ngx_log_debug1(NGX_LOG_DEBUG_EVENT, p->log, 0, - "pipe offset: %d", p->temp_file->offset); + "pipe offset: %O", p->temp_file->offset); do { bsize = cl->buf->last - cl->buf->pos; ngx_log_debug3(NGX_LOG_DEBUG_EVENT, p->log, 0, - "pipe buf " PTR_FMT ", pos " PTR_FMT ", size: %d", + "pipe buf %p, pos %p, size: %z", cl->buf->start, cl->buf->pos, bsize); if ((size + bsize > p->temp_file_write_size) @@ -574,7 +573,7 @@ static ngx_int_t ngx_event_pipe_write_chain_to_temp_file(ngx_event_pipe_t *p) } while (cl); - ngx_log_debug1(NGX_LOG_DEBUG_EVENT, p->log, 0, "size: %d", size); + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, p->log, 0, "size: %z", size); if (cl) { p->in = cl; diff --git a/src/event/ngx_event_posted.c b/src/event/ngx_event_posted.c index eb064f5ad..aed07faa3 100644 --- a/src/event/ngx_event_posted.c +++ b/src/event/ngx_event_posted.c @@ -25,7 +25,7 @@ void ngx_event_process_posted(ngx_cycle_t *cycle) ev = (ngx_event_t *) ngx_posted_events; ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "posted event " PTR_FMT, ev); + "posted event %p", ev); if (ev == NULL) { return; @@ -38,7 +38,7 @@ void ngx_event_process_posted(ngx_cycle_t *cycle) } -#if (NGX_THREADS) +#if (NGX_THREADS) && !(NGX_WIN32) void ngx_wakeup_worker_thread(ngx_cycle_t *cycle) { @@ -87,7 +87,7 @@ ngx_int_t ngx_event_thread_process_posted(ngx_cycle_t *cycle) for ( ;; ) { ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "posted event " PTR_FMT, ev); + "posted event %p", ev); if (ev == NULL) { return NGX_OK; @@ -96,7 +96,7 @@ ngx_int_t ngx_event_thread_process_posted(ngx_cycle_t *cycle) if (ngx_trylock(ev->lock) == 0) { ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "posted event " PTR_FMT " is busy", ev); + "posted event %p is busy", ev); ev = ev->next; continue; @@ -105,8 +105,7 @@ ngx_int_t ngx_event_thread_process_posted(ngx_cycle_t *cycle) if (ev->lock != ev->own_lock) { if (*(ev->own_lock)) { ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, - "the own lock of the posted event " - PTR_FMT " is busy", ev); + "the own lock of the posted event %p is busy", ev); ngx_unlock(ev->lock); ev = ev->next; continue; @@ -153,7 +152,7 @@ ngx_int_t ngx_event_thread_process_posted(ngx_cycle_t *cycle) } ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "posted event " PTR_FMT " is done", ev); + "posted event %p is done", ev); break; } diff --git a/src/event/ngx_event_posted.h b/src/event/ngx_event_posted.h index 5e29edcf0..86100af94 100644 --- a/src/event/ngx_event_posted.h +++ b/src/event/ngx_event_posted.h @@ -22,10 +22,10 @@ ev->next->prev = &ev->next; \ } \ ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \ - "post event " PTR_FMT, ev); \ + "post event %p", ev); \ } else { \ ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \ - "update posted event " PTR_FMT, ev); \ + "update posted event %p", ev); \ } #define ngx_delete_posted_event(ev) \ @@ -35,7 +35,7 @@ } \ ev->prev = NULL; \ ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \ - "delete posted event " PTR_FMT, ev); + "delete posted event %p", ev); diff --git a/src/event/ngx_event_timer.c b/src/event/ngx_event_timer.c index a09f07f73..c1ca12414 100644 --- a/src/event/ngx_event_timer.c +++ b/src/event/ngx_event_timer.c @@ -110,14 +110,13 @@ void ngx_event_expire_timers(ngx_msec_t timer) */ ngx_log_debug1(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "event " PTR_FMT " is busy in expire timers", - ev); + "event %p is busy in expire timers", ev); break; } #endif ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "event timer del: %d: %d", + "event timer del: %d: %i", ngx_event_ident(ev->data), ev->rbtree_key); ngx_rbtree_delete((ngx_rbtree_t **) &ngx_event_timer_rbtree, diff --git a/src/event/ngx_event_timer.h b/src/event/ngx_event_timer.h index f40e57234..9d6319a34 100644 --- a/src/event/ngx_event_timer.h +++ b/src/event/ngx_event_timer.h @@ -89,7 +89,7 @@ ngx_inline static void ngx_event_add_timer(ngx_event_t *ev, ngx_msec_t timer) if (abs(key - ev->rbtree_key) < 100 / NGX_TIMER_RESOLUTION) { ngx_log_debug3(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "event timer: %d, old: %d, new: %d", + "event timer: %d, old: %i, new: %i", ngx_event_ident(ev->data), ev->rbtree_key, key); return; } @@ -100,7 +100,7 @@ ngx_inline static void ngx_event_add_timer(ngx_event_t *ev, ngx_msec_t timer) ev->rbtree_key = key; ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "event timer add: %d: %d", + "event timer add: %d: %i", ngx_event_ident(ev->data), ev->rbtree_key); if (ngx_mutex_lock(ngx_event_timer_mutex) == NGX_ERROR) { |