Mercurial > hg > nginx-ranges
comparison src/os/unix/ngx_file_aio_read.c @ 531: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
530:1fd1b769cd78 | 531: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 |