comparison src/os/unix/ngx_file_aio_read.c @ 520:d41628eb4d0a NGINX_0_8_12

nginx 0.8.12 *) Feature: the "sendfile" parameter in the "aio" directive on FreeBSD. *) Bugfix: in try_files; the bug had appeared in 0.8.11. *) Bugfix: in memcached; the bug had appeared in 0.8.11.
author Igor Sysoev <http://sysoev.ru>
date Mon, 31 Aug 2009 00:00:00 +0400
parents 86dad910eeb6
children 2b9e388c61f1
comparison
equal deleted inserted replaced
519:1fd1b769cd78 520:d41628eb4d0a
13 * FreeBSD file AIO features and quirks: 13 * FreeBSD file AIO features and quirks:
14 * 14 *
15 * if an asked data are already in VM cache, then aio_error() returns 0, 15 * if an asked data are already in VM cache, then aio_error() returns 0,
16 * and the data are already copied in buffer; 16 * and the data are already copied in buffer;
17 * 17 *
18 * aio_read() preread in VM cache as minimum 32K; 18 * aio_read() preread in VM cache as minimum 16K (probably BKVASIZE);
19 * the first AIO preload may be up to 128K;
19 * 20 *
20 * aio_read/aio_error() may return EINPROGRESS for just written data; 21 * aio_read/aio_error() may return EINPROGRESS for just written data;
21 * 22 *
22 * kqueue EVFILT_AIO filter is level triggered only: an event repeats 23 * kqueue EVFILT_AIO filter is level triggered only: an event repeats
23 * until aio_return() will be called; 24 * until aio_return() will be called;
58 aio->file = file; 59 aio->file = file;
59 aio->fd = file->fd; 60 aio->fd = file->fd;
60 aio->event.data = aio; 61 aio->event.data = aio;
61 aio->event.ready = 1; 62 aio->event.ready = 1;
62 aio->event.log = file->log; 63 aio->event.log = file->log;
64 #if (NGX_HAVE_AIO_SENDFILE)
65 aio->last_offset = -1;
66 #endif
63 file->aio = aio; 67 file->aio = aio;
64 } 68 }
65 69
66 ev = &aio->event; 70 ev = &aio->event;
67 71