nginx-0.0.2-2004-02-03-00:19:52 import
diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c
index e169c8c..28966fe 100644
--- a/src/event/modules/ngx_kqueue_module.c
+++ b/src/event/modules/ngx_kqueue_module.c
@@ -375,6 +375,8 @@
     ngx_gettimeofday(&tv);
     ngx_time_update(tv.tv_sec);
 
+    ngx_log_debug1(NGX_LOG_DEBUG_EVENT, log, 0, "kevent events: %d", events);
+
     delta = ngx_elapsed_msec;
     ngx_elapsed_msec = tv.tv_sec * 1000 + tv.tv_usec / 1000 - ngx_start_msec;
 
diff --git a/src/event/modules/ngx_poll_module.c b/src/event/modules/ngx_poll_module.c
index 37c10e3..8727c21 100644
--- a/src/event/modules/ngx_poll_module.c
+++ b/src/event/modules/ngx_poll_module.c
@@ -320,12 +320,12 @@
 
         found = 0;
 
-        if (event_list[i].revents & (POLLIN|POLLERR|POLLHUP)) {
+        if (event_list[i].revents & (POLLIN|POLLERR|POLLHUP|POLLNVAL)) {
             found = 1;
             ready_index[nready++] = c->read;
         }
 
-        if (event_list[i].revents & (POLLOUT|POLLERR|POLLHUP)) {
+        if (event_list[i].revents & (POLLOUT|POLLERR|POLLHUP|POLLNVAL)) {
             found = 1;
             ready_index[nready++] = c->write;
         }
diff --git a/src/event/modules/ngx_select_module.c b/src/event/modules/ngx_select_module.c
index 18d1bde..602960b 100644
--- a/src/event/modules/ngx_select_module.c
+++ b/src/event/modules/ngx_select_module.c
@@ -315,14 +315,15 @@
         deltas += delta;
         if (deltas > 1000) {
             ngx_gettimeofday(&tv);
-            deltas = tv.tv_usec / 1000;
             ngx_time_update(tv.tv_sec);
+            deltas = tv.tv_usec / 1000;
         }
 
         ngx_log_debug2(NGX_LOG_DEBUG_EVENT, log, 0,
                        "select timer: %d, delta: %d", timer, (int) delta);
 
     } else {
+        delta = 0;
         ngx_gettimeofday(&tv);
         ngx_time_update(tv.tv_sec);
 
@@ -438,8 +439,10 @@
     /* disable warning: the default FD_SETSIZE is 1024U in FreeBSD 5.x */
 
     if ((unsigned) ecf->connections > FD_SETSIZE) {
-        return "maximum number of connections "
-               "supported by select() is " ngx_value(FD_SETSIZE);
+        ngx_log_error(NGX_LOG_EMERG, cycle->log, 0,
+                      "the maximum number of files "
+                      "supported by select() is " ngx_value(FD_SETSIZE));
+        return NGX_CONF_ERROR;
     }
 
     return NGX_CONF_OK;