|  | 
 | /* | 
 |  * Copyright (C) Nginx, Inc. | 
 |  * Copyright (C) Valentin V. Bartenev | 
 |  */ | 
 |  | 
 |  | 
 | #ifndef _NGX_THREAD_POOL_H_INCLUDED_ | 
 | #define _NGX_THREAD_POOL_H_INCLUDED_ | 
 |  | 
 |  | 
 | #include <ngx_config.h> | 
 | #include <ngx_core.h> | 
 | #include <ngx_event.h> | 
 |  | 
 |  | 
 | struct ngx_thread_task_s { | 
 |     ngx_thread_task_t   *next; | 
 |     ngx_uint_t           id; | 
 |     void                *ctx; | 
 |     void               (*handler)(void *data, ngx_log_t *log); | 
 |     ngx_event_t          event; | 
 | }; | 
 |  | 
 |  | 
 | typedef struct ngx_thread_pool_s  ngx_thread_pool_t; | 
 |  | 
 |  | 
 | ngx_thread_pool_t *ngx_thread_pool_add(ngx_conf_t *cf, ngx_str_t *name); | 
 | ngx_thread_pool_t *ngx_thread_pool_get(ngx_cycle_t *cycle, ngx_str_t *name); | 
 |  | 
 | ngx_thread_task_t *ngx_thread_task_alloc(ngx_pool_t *pool, size_t size); | 
 | ngx_int_t ngx_thread_task_post(ngx_thread_pool_t *tp, ngx_thread_task_t *task); | 
 |  | 
 |  | 
 | #endif /* _NGX_THREAD_POOL_H_INCLUDED_ */ |