diff options
Diffstat (limited to 'src/event/modules/ngx_devpoll_module.c')
-rw-r--r-- | src/event/modules/ngx_devpoll_module.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/event/modules/ngx_devpoll_module.c b/src/event/modules/ngx_devpoll_module.c index 4f470d307..29cd298b1 100644 --- a/src/event/modules/ngx_devpoll_module.c +++ b/src/event/modules/ngx_devpoll_module.c @@ -206,10 +206,13 @@ int ngx_devpoll_process_events(ngx_log_t *log) ngx_log_debug(log, "devpoll timer: %d" _ timer); #endif - n = nchanges * sizeof(struct pollfd); - if (write(dp, change_list, n) != n) { - ngx_log_error(NGX_LOG_ALERT, log, ngx_errno, "write(/dev/poll) failed"); - return NGX_ERROR; + if (nchanges) { + n = nchanges * sizeof(struct pollfd); + if (write(dp, change_list, n) != n) { + ngx_log_error(NGX_LOG_ALERT, log, ngx_errno, + "write(/dev/poll) failed"); + return NGX_ERROR; + } } dvp.dp_fds = event_list; |