Mercurial > hg > nginx
view src/event/ngx_event_posted.h @ 559:c1f965ef9718 release-0.3.1
nginx-0.3.1-RELEASE import
*) Bugfix: the segmentation fault occurred when the signal queue
overflowed if the "rtsig" method was used; the bug had appeared in
0.2.0.
*) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in
SSI.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 10 Oct 2005 12:59:41 +0000 |
parents | a88a3e4e158f |
children | 9c2f3ed7a247 |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev */ #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->prev == NULL) { \ ev->next = (ngx_event_t *) ngx_posted_events; \ ev->prev = (ngx_event_t **) &ngx_posted_events; \ ngx_posted_events = ev; \ if (ev->next) { \ ev->next->prev = &ev->next; \ } \ ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \ "post event %p", ev); \ } else { \ ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \ "update posted event %p", ev); \ } #define ngx_delete_posted_event(ev) \ *(ev->prev) = ev->next; \ if (ev->next) { \ ev->next->prev = ev->prev; \ } \ ev->prev = NULL; \ ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0, \ "delete posted event %p", ev); void ngx_event_process_posted(ngx_cycle_t *cycle); void ngx_wakeup_worker_thread(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; #endif #endif /* _NGX_EVENT_POSTED_H_INCLUDED_ */