aboutsummaryrefslogtreecommitdiff
path: root/src/event/modules/ngx_devpoll_module.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-02-01 08:10:52 +0000
committerIgor Sysoev <igor@sysoev.ru>2004-02-01 08:10:52 +0000
commit328af6e8cd26f274bf385cfff3c888725746ea4f (patch)
tree9d543325432262cde3c248dad0595265bb15feea /src/event/modules/ngx_devpoll_module.c
parentbbcea6c3d79208d002710734d5f0826e7fc79465 (diff)
downloadnginx-328af6e8cd26f274bf385cfff3c888725746ea4f.tar.gz
nginx-328af6e8cd26f274bf385cfff3c888725746ea4f.zip
nginx-0.0.1-2004-02-01-11:10:52 import
Diffstat (limited to 'src/event/modules/ngx_devpoll_module.c')
-rw-r--r--src/event/modules/ngx_devpoll_module.c43
1 files changed, 22 insertions, 21 deletions
diff --git a/src/event/modules/ngx_devpoll_module.c b/src/event/modules/ngx_devpoll_module.c
index 1aa042ab2..e8204cd63 100644
--- a/src/event/modules/ngx_devpoll_module.c
+++ b/src/event/modules/ngx_devpoll_module.c
@@ -363,7 +363,7 @@ int ngx_devpoll_process_events(ngx_log_t *log)
return NGX_ERROR;
}
- if ((int) timer != INFTIM) {
+ if (timer != (ngx_msec_t) INFTIM) {
delta = ngx_elapsed_msec - delta;
ngx_log_debug2(NGX_LOG_DEBUG_EVENT, log, 0,
@@ -402,34 +402,35 @@ int ngx_devpoll_process_events(ngx_log_t *log)
event_list[i].fd,
event_list[i].events, event_list[i].revents);
- if (event_list[i].revents & POLLIN) {
- if (!c->read->active) {
- continue;
- }
+ if (event_list[i].revents & (POLLERR|POLLHUP|POLLNVAL)) {
+ ngx_log_error(NGX_LOG_ALERT, log, 0,
+ "ioctl(DP_POLL) error fd:%d ev:%04X rev:%04X",
+ event_list[i].fd,
+ event_list[i].events, event_list[i].revents);
+ }
+
+ if (event_list[i].revents & ~(POLLIN|POLLOUT|POLLERR|POLLHUP|POLLNVAL))
+ {
+ ngx_log_error(NGX_LOG_ALERT, log, 0,
+ "strange ioctl(DP_POLL) events "
+ "fd:%d ev:%04X rev:%04X",
+ event_list[i].fd,
+ event_list[i].events, event_list[i].revents);
+ }
+ if ((event_list[i].events & (POLLIN|POLLERR|POLLHUP))
+ && c->read->active)
+ {
c->read->ready = 1;
c->read->event_handler(c->read);
}
- if (event_list[i].revents & POLLOUT) {
- if (!c->write->active) {
- continue;
- }
-
+ if ((event_list[i].events & (POLLOUT|POLLERR|POLLHUP))
+ && c->write->active)
+ {
c->write->ready = 1;
c->write->event_handler(c->write);
}
-
- if (event_list[i].revents & (POLLERR|POLLHUP|POLLNVAL)) {
- err = 0;
- if (event_list[i].revents & POLLNVAL) {
- err = EBADF;
- }
-
- ngx_log_error(NGX_LOG_ERR, log, err,
- "ioctl(DP_POLL) error on %d:%d",
- event_list[i].fd, event_list[i].revents);
- }
}
if (timer != (ngx_msec_t) INFTIM && delta) {