view src/event/ngx_event_posted.h @ 374:213f17e9f776

nginx-0.0.7-2004-07-02-09:47:00 import
author Igor Sysoev <igor@sysoev.ru>
date Fri, 02 Jul 2004 05:47:00 +0000
parents 018569a8f09c
children 744ccb59062d
line wrap: on
line source

#ifndef _NGX_EVENT_POSTED_H_INCLUDED_
#define _NGX_EVENT_POSTED_H_INCLUDED_


#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>


#define ngx_post_event(ev)                                                    \
            if (!ev->posted) {                                                \
                ev->next = (ngx_event_t *) ngx_posted_events;                 \
                ngx_posted_events = ev;                                       \
                ev->posted = 1;                                               \
\
   ngx_log_debug3(NGX_LOG_DEBUG_CORE, ngx_cycle->log, 0, \
               "POST: %08X %08X %08X", ngx_posted_events, \
               (ngx_posted_events ? ngx_posted_events->next: 0), \
               ((ngx_posted_events && ngx_posted_events->next) ? \
                               ngx_posted_events->next->next: 0)); \
\
}

/*
\
{ int i; ngx_event_t *e;\
  e = (ngx_event_t *) ngx_posted_events; \
for (i = 0; e && i < 10; e = e->next, i++) { \
   ngx_log_debug2(NGX_LOG_DEBUG_CORE, ngx_cycle->log, 0, \
                  "POST: %d %08X", i, e);\
}} \
\
*/


void ngx_event_process_posted(ngx_cycle_t *cycle);

extern ngx_thread_volatile ngx_event_t  *ngx_posted_events;


#if (NGX_THREADS)
ngx_int_t ngx_event_thread_process_posted(ngx_cycle_t *cycle);

extern ngx_mutex_t                      *ngx_posted_events_mutex;
extern ngx_cond_t                       *ngx_posted_events_cv;
#endif


#endif /* _NGX_EVENT_POSTED_H_INCLUDED_ */