Fixes to improve portability (especially to OS X, Solaris, OpenBSD).
[ircu2.10.12-pk.git] / ircd / engine_poll.c
index b5ca2c7d498a622d5381683511cf469242ee9bf4..fe52249bc76181b95f55fb6fac2ab406ffb14159 100644 (file)
@@ -244,7 +244,7 @@ engine_loop(struct Generators* gen)
   int nfds;
   int i;
   int errcode;
-  size_t codesize;
+  socklen_t codesize;
   struct Socket *sock;
 
   while (running) {
@@ -263,7 +263,7 @@ engine_loop(struct Generators* gen)
        /* Log the poll error */
        log_write(LS_SOCKET, L_ERROR, 0, "poll() error: %m");
        if (!errors++)
-         timer_add(&clear_error, error_clear, 0, TT_PERIODIC,
+         timer_add(timer_init(&clear_error), error_clear, 0, TT_PERIODIC,
                    ERROR_EXPIRE_TIME);
        else if (errors > POLL_ERROR_THRESHOLD) /* too many errors... */
          server_restart("too many poll errors");
@@ -303,8 +303,6 @@ engine_loop(struct Generators* gen)
        }
       }
 
-      assert(!(pollfdList[i].revents & POLLERR));
-
 #ifdef POLLHUP
       if (pollfdList[i].revents & POLLHUP) { /* hang-up on socket */
        Debug((DEBUG_ENGINE, "poll: EOF from client (POLLHUP)"));