aboutsummaryrefslogtreecommitdiff
path: root/src/event/modules/ngx_select_module.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-05-06 08:53:13 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-05-06 08:53:13 +0000
commit57ca2c80133712f9ba0e0718ece7664552cfc5fe (patch)
tree7ff50d9d6c6b50232ca3cc591a3c582ace22bbf5 /src/event/modules/ngx_select_module.c
parentc340a2841bb14ca2fae22892f61a9470b0584c59 (diff)
downloadnginx-57ca2c80133712f9ba0e0718ece7664552cfc5fe.tar.gz
nginx-57ca2c80133712f9ba0e0718ece7664552cfc5fe.zip
test event type to prevent errors
Diffstat (limited to 'src/event/modules/ngx_select_module.c')
-rw-r--r--src/event/modules/ngx_select_module.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/event/modules/ngx_select_module.c b/src/event/modules/ngx_select_module.c
index 9be2c6ff3..661e7c639 100644
--- a/src/event/modules/ngx_select_module.c
+++ b/src/event/modules/ngx_select_module.c
@@ -147,6 +147,16 @@ ngx_select_add_event(ngx_event_t *ev, ngx_int_t event, ngx_uint_t flags)
return NGX_OK;
}
+ if ((event == NGX_READ_EVENT && ev->write)
+ || (event == NGX_WRITE_EVENT && !ev->write))
+ {
+ ngx_log_error(NGX_LOG_ALERT, ev->log, 0,
+ "invalid select %s event fd:%d ev:%i",
+ ev->write ? "write" : "read", c->fd, event);
+ return NGX_ERROR;
+ }
+
+
#if (NGX_WIN32)
if ((event == NGX_READ_EVENT) && (max_read >= FD_SETSIZE)