Mercurial > hg > nginx-quic
diff src/event/modules/ngx_aio_module.c @ 0:4eff17414a43
nginx-0.0.1-2002-08-06-20:39:45 import
The first code that uses "ngx_" prefix, the previous one used "gx_" prefix.
At that point the code is not yet usable. The first draft ideas are dated
back to 23.10.2001.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 06 Aug 2002 16:39:45 +0000 |
parents | |
children | 62b1a364857c |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/src/event/modules/ngx_aio_module.c @@ -0,0 +1,37 @@ + +int ngx_posix_aio_process_events(ngx_log_t *log) +{ + unmask signal + + listen via signal; + + aio_suspend()/aiowait()/aio_waitcomplete(); + + 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: 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 +} +