Mercurial > hg > nginx
view src/event/modules/ngx_aio_module.c @ 5:62b1a364857c
nginx-0.0.1-2002-08-23-20:14:30 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 23 Aug 2002 16:14:30 +0000 |
parents | 4eff17414a43 |
children | 669801705ab1 |
line wrap: on
line source
int ngx_posix_aio_process_events(ngx_log_t *log) { unmask signal listen via SIGIO; /* BUG: SIGIO can be delivered before aio_*() */ aio_suspend()/aiowait()/aio_waitcomplete() with timeout mask signal if (ngx_socket_errno == NGX_EINTR) look listen select()/accept() nb listen sockets else aio } int ngx_posix_aio_process_events(ngx_log_t *log) { unmask signal /* BUG: AIO signal can be delivered before select() */ select(listen); mask signal if (ngx_socket_errno == NGX_EINTR) look ready array } void aio_sig_handler(int signo, siginfo_t *siginfo, void *context) { push siginfo->si_value.sival_ptr }