comparison src/os/unix/ngx_file_aio_read.c @ 665:0b460e61bdcd default tip

Merge with nginx 1.0.0.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 25 Apr 2011 04:22:17 +0400
parents 2b9e388c61f1
children
comparison
equal deleted inserted replaced
572:06419a2298a9 665:0b460e61bdcd
37 37
38 ssize_t 38 ssize_t
39 ngx_file_aio_read(ngx_file_t *file, u_char *buf, size_t size, off_t offset, 39 ngx_file_aio_read(ngx_file_t *file, u_char *buf, size_t size, off_t offset,
40 ngx_pool_t *pool) 40 ngx_pool_t *pool)
41 { 41 {
42 int n; 42 int n;
43 ngx_event_t *ev; 43 ngx_event_t *ev;
44 ngx_event_aio_t *aio; 44 ngx_event_aio_t *aio;
45 static ngx_uint_t enosys = 0; 45
46 46 if (!ngx_file_aio) {
47 if (enosys) {
48 return ngx_read_file(file, buf, size, offset); 47 return ngx_read_file(file, buf, size, offset);
49 } 48 }
50 49
51 aio = file->aio; 50 aio = file->aio;
52 51
114 113
115 ngx_log_error(NGX_LOG_CRIT, file->log, n, 114 ngx_log_error(NGX_LOG_CRIT, file->log, n,
116 "aio_read(\"%V\") failed", &file->name); 115 "aio_read(\"%V\") failed", &file->name);
117 116
118 if (n == NGX_ENOSYS) { 117 if (n == NGX_ENOSYS) {
119 enosys = 1; 118 ngx_file_aio = 0;
120 return ngx_read_file(file, buf, size, offset); 119 return ngx_read_file(file, buf, size, offset);
121 } 120 }
122 121
123 return NGX_ERROR; 122 return NGX_ERROR;
124 } 123 }