diff options
author | Igor Sysoev <igor@sysoev.ru> | 2002-09-27 15:05:29 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2002-09-27 15:05:29 +0000 |
commit | 31f8818eb110d18e58fef72684418c33ddbd7a0b (patch) | |
tree | 4a361ff0f3a30641e5f41fcb49e1504c919b70a5 /src/event/modules/ngx_kqueue_module.c | |
parent | 170efb2b7d36e85db017e9daa25a0422aee8ce8a (diff) | |
download | nginx-31f8818eb110d18e58fef72684418c33ddbd7a0b.tar.gz nginx-31f8818eb110d18e58fef72684418c33ddbd7a0b.zip |
nginx-0.0.1-2002-09-27-19:05:29 import
Diffstat (limited to 'src/event/modules/ngx_kqueue_module.c')
-rw-r--r-- | src/event/modules/ngx_kqueue_module.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c index aa9d8cb8b..aad8581a9 100644 --- a/src/event/modules/ngx_kqueue_module.c +++ b/src/event/modules/ngx_kqueue_module.c @@ -27,7 +27,7 @@ static int nchanges, nevents; 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, ngx_log_t *log) 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_log_t *log) 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, int filter, u_int flags) 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"); |