comparison src/event/ngx_event.h @ 258:733dffa1fe97

nginx-0.0.2-2004-02-11-10:19:26 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 11 Feb 2004 07:19:26 +0000
parents 70e1c7d2b83d
children d30f2c39caae
comparison
equal deleted inserted replaced
257:70e1c7d2b83d 258:733dffa1fe97
174 extern ngx_event_actions_t ngx_event_actions; 174 extern ngx_event_actions_t ngx_event_actions;
175 175
176 176
177 /* 177 /*
178 * The event filter requires to read/write the whole data - 178 * The event filter requires to read/write the whole data -
179 * select, poll, /dev/poll, kqueue, epoll. 179 * select, poll, /dev/poll, kqueue.
180 */ 180 */
181 #define NGX_USE_LEVEL_EVENT 0x00000001 181 #define NGX_USE_LEVEL_EVENT 0x00000001
182 182
183 /* 183 /*
184 * The event filter is deleted after a notification without an additional 184 * The event filter is deleted after a notification without an additional
185 * syscall - select, poll, kqueue, epoll. 185 * syscall - select, poll, kqueue.
186 */ 186 */
187 #define NGX_USE_ONESHOT_EVENT 0x00000002 187 #define NGX_USE_ONESHOT_EVENT 0x00000002
188 188
189 /* 189 /*
190 * The event filter notifies only the changes and an initial level - 190 * The event filter notifies only the changes and an initial level - kqueue.
191 * kqueue, epoll.
192 */ 191 */
193 #define NGX_USE_CLEAR_EVENT 0x00000004 192 #define NGX_USE_CLEAR_EVENT 0x00000004
194 193
195 /* 194 /*
196 * The event filter has kqueue features - the eof flag, errno, 195 * The event filter has kqueue features - the eof flag, errno,
204 */ 203 */
205 #define NGX_HAVE_LOWAT_EVENT 0x00000010 204 #define NGX_HAVE_LOWAT_EVENT 0x00000010
206 205
207 /* 206 /*
208 * The event filter notifies only the changes (the edges) 207 * The event filter notifies only the changes (the edges)
209 * but not an initial level - early epoll patches. 208 * but not an initial level - epoll.
210 */ 209 */
211 #define NGX_USE_EDGE_EVENT 0x00000020 210 #define NGX_USE_EDGE_EVENT 0x00000020
212 211
213 /* 212 /*
214 * No need to add or delete the event filters - rt signals. 213 * No need to add or delete the event filters - rt signals.
274 273
275 #undef NGX_DISABLE_EVENT 274 #undef NGX_DISABLE_EVENT
276 #define NGX_DISABLE_EVENT EV_DISABLE 275 #define NGX_DISABLE_EVENT EV_DISABLE
277 276
278 277
279 #elif (HAVE_DEVPOLL) 278 #elif (HAVE_POLL)
280 279
281 #define NGX_READ_EVENT POLLIN 280 #define NGX_READ_EVENT POLLIN
282 #define NGX_WRITE_EVENT POLLOUT 281 #define NGX_WRITE_EVENT POLLOUT
283 282
284 #define NGX_LEVEL_EVENT 0 283 #define NGX_LEVEL_EVENT 0
285 284 #define NGX_ONESHOT_EVENT 1
286 285
287 #elif (HAVE_EPOLL) 286
288 287 #elif (HAVE_DEVPOLL)
289 #define NGX_READ_EVENT EPOLLIN
290 #define NGX_WRITE_EVENT EPOLLOUT
291
292 #define NGX_LEVEL_EVENT 0
293 #define NGX_CLEAR_EVENT EPOLLET
294 #define NGX_ONESHOT_EVENT 0x70000000
295 #if 0
296 #define NGX_ONESHOT_EVENT EPOLLONESHOT
297 #endif
298
299
300 #elif (HAVE_POLL)
301 288
302 #define NGX_READ_EVENT POLLIN 289 #define NGX_READ_EVENT POLLIN
303 #define NGX_WRITE_EVENT POLLOUT 290 #define NGX_WRITE_EVENT POLLOUT
304 291
305 #define NGX_LEVEL_EVENT 0 292 #define NGX_LEVEL_EVENT 0
306 #define NGX_ONESHOT_EVENT 1
307 293
308 294
309 #else /* select */ 295 #else /* select */
310 296
311 #define NGX_READ_EVENT 0 297 #define NGX_READ_EVENT 0