comparison src/event/ngx_event.h @ 259:d30f2c39caae

nginx-0.0.2-2004-02-12-23:57:10 import
author Igor Sysoev <igor@sysoev.ru>
date Thu, 12 Feb 2004 20:57:10 +0000
parents 733dffa1fe97
children bdd631bf1a1c
comparison
equal deleted inserted replaced
258:733dffa1fe97 259:d30f2c39caae
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. 179 * select, poll, /dev/poll, kqueue, epoll.
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. 185 * syscall - select, poll, kqueue, epoll.
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 - kqueue. 190 * The event filter notifies only the changes and an initial level -
191 * kqueue, epoll.
191 */ 192 */
192 #define NGX_USE_CLEAR_EVENT 0x00000004 193 #define NGX_USE_CLEAR_EVENT 0x00000004
193 194
194 /* 195 /*
195 * The event filter has kqueue features - the eof flag, errno, 196 * The event filter has kqueue features - the eof flag, errno,
203 */ 204 */
204 #define NGX_HAVE_LOWAT_EVENT 0x00000010 205 #define NGX_HAVE_LOWAT_EVENT 0x00000010
205 206
206 /* 207 /*
207 * The event filter notifies only the changes (the edges) 208 * The event filter notifies only the changes (the edges)
208 * but not an initial level - epoll. 209 * but not an initial level - early epoll patches.
209 */ 210 */
210 #define NGX_USE_EDGE_EVENT 0x00000020 211 #define NGX_USE_EDGE_EVENT 0x00000020
211 212
212 /* 213 /*
213 * No need to add or delete the event filters - rt signals. 214 * No need to add or delete the event filters - rt signals.
273 274
274 #undef NGX_DISABLE_EVENT 275 #undef NGX_DISABLE_EVENT
275 #define NGX_DISABLE_EVENT EV_DISABLE 276 #define NGX_DISABLE_EVENT EV_DISABLE
276 277
277 278
278 #elif (HAVE_POLL) 279 #elif (HAVE_DEVPOLL)
279 280
280 #define NGX_READ_EVENT POLLIN 281 #define NGX_READ_EVENT POLLIN
281 #define NGX_WRITE_EVENT POLLOUT 282 #define NGX_WRITE_EVENT POLLOUT
282 283
283 #define NGX_LEVEL_EVENT 0 284 #define NGX_LEVEL_EVENT 0
284 #define NGX_ONESHOT_EVENT 1 285
285 286
286 287 #elif (HAVE_EPOLL)
287 #elif (HAVE_DEVPOLL) 288
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)
288 301
289 #define NGX_READ_EVENT POLLIN 302 #define NGX_READ_EVENT POLLIN
290 #define NGX_WRITE_EVENT POLLOUT 303 #define NGX_WRITE_EVENT POLLOUT
291 304
292 #define NGX_LEVEL_EVENT 0 305 #define NGX_LEVEL_EVENT 0
306 #define NGX_ONESHOT_EVENT 1
293 307
294 308
295 #else /* select */ 309 #else /* select */
296 310
297 #define NGX_READ_EVENT 0 311 #define NGX_READ_EVENT 0