diff src/event/modules/ngx_kqueue_module.c @ 17:8dd06e2844f5

nginx-0.0.1-2002-09-27-19:05:29 import
author Igor Sysoev <igor@sysoev.ru>
date Fri, 27 Sep 2002 15:05:29 +0000
parents f8a0d0f31a24
children 72ad26c77d2d
line wrap: on
line diff
--- a/src/event/modules/ngx_kqueue_module.c
+++ b/src/event/modules/ngx_kqueue_module.c
@@ -27,7 +27,7 @@ static int              nchanges, nevent
 
 static ngx_event_t      timer_queue;
 
-void ngx_kqueue_init(int max_connections, ngx_log_t *log)
+int ngx_kqueue_init(int max_connections, ngx_log_t *log)
 {
     int size = sizeof(struct kevent) * 512;
 
@@ -38,11 +38,11 @@ void ngx_kqueue_init(int max_connections
 
     if (kq == -1) {
         ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "kqueue() failed");
-        exit(1);
+        return NGX_ERROR;
     }
 
-    change_list = ngx_alloc(size, log);
-    event_list = ngx_alloc(size, log);
+    ngx_test_null(change_list, ngx_alloc(size, log), NGX_ERROR);
+    ngx_test_null(event_list, ngx_alloc(size, log), NGX_ERROR);
 
     timer_queue.timer_prev = &timer_queue;
     timer_queue.timer_next = &timer_queue;
@@ -53,6 +53,8 @@ void ngx_kqueue_init(int max_connections
     ngx_event_actions.timer = ngx_kqueue_add_timer;
     ngx_event_actions.process = ngx_kqueue_process_events;
 #endif
+
+    return NGX_OK;
 }
 
 int ngx_kqueue_add_event(ngx_event_t *ev, int event, u_int flags)
@@ -77,7 +79,7 @@ int ngx_kqueue_set_event(ngx_event_t *ev
 
     if (nchanges >= nevents) {
         ngx_log_error(NGX_LOG_WARN, ev->log, 0,
-                      "ngx_kqueue_set_event: change list is filled up");
+                      "kqueue change list is filled up");
 
         if (kevent(kq, change_list, nchanges, NULL, 0, &ts) == -1) {
             ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_errno, "kevent failed");