ngx_event_posted.h
来自「Nginx是一个高性能的HTTP和反向代理服务器」· C头文件 代码 · 共 75 行
H
75 行
/* * 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>#if (NGX_THREADS)extern ngx_mutex_t *ngx_posted_events_mutex;#endif#define ngx_locked_post_event(ev, queue) \ \ if (ev->prev == NULL) { \ ev->next = (ngx_event_t *) *queue; \ ev->prev = (ngx_event_t **) queue; \ *queue = 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_post_event(ev, queue) \ \ ngx_mutex_lock(ngx_posted_events_mutex); \ ngx_locked_post_event(ev, queue); \ ngx_mutex_unlock(ngx_posted_events_mutex);#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, ngx_thread_volatile ngx_event_t **posted);void ngx_wakeup_worker_thread(ngx_cycle_t *cycle);#if (NGX_THREADS)ngx_int_t ngx_event_thread_process_posted(ngx_cycle_t *cycle);#endifextern ngx_thread_volatile ngx_event_t *ngx_posted_accept_events;extern ngx_thread_volatile ngx_event_t *ngx_posted_events;#endif /* _NGX_EVENT_POSTED_H_INCLUDED_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?