src/event/ngx_event_posted.h - nginx source code

Macros defined

Source code


  1. /*
  2. * Copyright (C) Igor Sysoev
  3. * Copyright (C) Nginx, Inc.
  4. */


  5. #ifndef _NGX_EVENT_POSTED_H_INCLUDED_
  6. #define _NGX_EVENT_POSTED_H_INCLUDED_


  7. #include <ngx_config.h>
  8. #include <ngx_core.h>
  9. #include <ngx_event.h>


  10. #define ngx_post_event(ev, q)                                                 \
  11.                                                                               \
  12.     if (!(ev)->posted) {                                                      \
  13.         (ev)->posted = 1;                                                     \
  14.         ngx_queue_insert_tail(q, &(ev)->queue);                               \
  15.                                                                               \
  16.         ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0, "post event %p", ev);\
  17.                                                                               \
  18.     } else  {                                                                 \
  19.         ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0,                      \
  20.                        "update posted event %p", ev);                         \
  21.     }


  22. #define ngx_delete_posted_event(ev)                                           \
  23.                                                                               \
  24.     (ev)->posted = 0;                                                         \
  25.     ngx_queue_remove(&(ev)->queue);                                           \
  26.                                                                               \
  27.     ngx_log_debug1(NGX_LOG_DEBUG_CORE, (ev)->log, 0,                          \
  28.                    "delete posted event %p", ev);



  29. void ngx_event_process_posted(ngx_cycle_t *cycle, ngx_queue_t *posted);
  30. void ngx_event_move_posted_next(ngx_cycle_t *cycle);


  31. extern ngx_queue_t  ngx_posted_accept_events;
  32. extern ngx_queue_t  ngx_posted_next_events;
  33. extern ngx_queue_t  ngx_posted_events;


  34. #endif /* _NGX_EVENT_POSTED_H_INCLUDED_ */