comparison src/event/ngx_event.h @ 143:5526213be452

nginx-0.0.1-2003-10-10-19:10:50 import
author Igor Sysoev <igor@sysoev.ru>
date Fri, 10 Oct 2003 15:10:50 +0000
parents 54307053f185
children ef8c87afcfc5
comparison
equal deleted inserted replaced
142:cb77c084acdb 143:5526213be452
377 #include <ngx_event_timer.h> 377 #include <ngx_event_timer.h>
378 #if (WIN32) 378 #if (WIN32)
379 #include <ngx_iocp_module.h> 379 #include <ngx_iocp_module.h>
380 #endif 380 #endif
381 381
382
383
384 ngx_inline static int ngx_handle_read_event(ngx_event_t *rev)
385 {
386 if (ngx_event_flags & (NGX_HAVE_AIO_EVENT|NGX_HAVE_EDGE_EVENT)) {
387
388 /* aio, iocp, epoll */
389
390 return NGX_OK;
391 }
392
393 if (ngx_event_flags & NGX_HAVE_CLEAR_EVENT) {
394
395 /* kqueue */
396
397 if (!rev->active && !rev->ready) {
398 if (ngx_add_event(rev, NGX_READ_EVENT, NGX_CLEAR_EVENT)
399 == NGX_ERROR) {
400 return NGX_ERROR;
401 }
402 }
403
404 return NGX_OK;
405 }
406
407 /* select, poll, /dev/poll */
408
409 if (!rev->active && !rev->ready) {
410 if (ngx_add_event(rev, NGX_READ_EVENT, NGX_LEVEL_EVENT) == NGX_ERROR) {
411 return NGX_ERROR;
412 }
413
414 return NGX_OK;
415 }
416
417 if (rev->active && rev->ready) {
418 if (ngx_del_event(rev, NGX_READ_EVENT, 0) == NGX_ERROR) {
419 return NGX_ERROR;
420 }
421
422 return NGX_OK;
423 }
424
425 return NGX_OK;
426 }
427
428
429 ngx_inline static int ngx_handle_write_event(ngx_event_t *wev, int lowat)
430 {
431 if (ngx_event_flags & (NGX_HAVE_AIO_EVENT|NGX_HAVE_EDGE_EVENT)) {
432
433 /* aio, iocp, epoll */
434
435 return NGX_OK;
436 }
437
438 if (ngx_event_flags & NGX_HAVE_CLEAR_EVENT) {
439
440 /* kqueue */
441
442 #if (HAVE_LOWAT_EVENT) /* kqueue's NOTE_LOWAT */
443
444 if (ngx_event_flags & NGX_HAVE_LOWAT_EVENT) {
445 wev->lowat = lowat;
446 }
447
448 #endif
449 if (!wev->active && !wev->ready) {
450 if (ngx_add_event(wev, NGX_WRITE_EVENT, NGX_CLEAR_EVENT)
451 == NGX_ERROR) {
452 return NGX_ERROR;
453 }
454 }
455
456 return NGX_OK;
457 }
458
459 /* select, poll, /dev/poll */
460
461 if (!wev->active && !wev->ready) {
462 if (ngx_add_event(wev, NGX_WRITE_EVENT, NGX_LEVEL_EVENT) == NGX_ERROR) {
463 return NGX_ERROR;
464 }
465
466 return NGX_OK;
467 }
468
469 if (wev->active && wev->ready) {
470 if (ngx_del_event(wev, NGX_WRITE_EVENT, 0) == NGX_ERROR) {
471 return NGX_ERROR;
472 }
473
474 return NGX_OK;
475 }
476
477 return NGX_OK;
478 }
479
480
481
382 /* ***************************** */ 482 /* ***************************** */
383 483
384 484
385 #endif /* _NGX_EVENT_H_INCLUDED_ */ 485 #endif /* _NGX_EVENT_H_INCLUDED_ */