comparison src/core/ngx_thread_pool.h @ 6018:466bd63b63d1

Thread pools implementation.
author Valentin Bartenev <vbart@nginx.com>
date Sat, 14 Mar 2015 17:37:07 +0300
parents
children
comparison
equal deleted inserted replaced
6017:83d54192e97b 6018:466bd63b63d1
1
2 /*
3 * Copyright (C) Nginx, Inc.
4 * Copyright (C) Valentin V. Bartenev
5 */
6
7
8 #ifndef _NGX_THREAD_POOL_H_INCLUDED_
9 #define _NGX_THREAD_POOL_H_INCLUDED_
10
11
12 #include <ngx_config.h>
13 #include <ngx_core.h>
14 #include <ngx_event.h>
15
16
17 struct ngx_thread_task_s {
18 ngx_thread_task_t *next;
19 ngx_uint_t id;
20 void *ctx;
21 void (*handler)(void *data, ngx_log_t *log);
22 ngx_event_t event;
23 };
24
25
26 typedef struct ngx_thread_pool_s ngx_thread_pool_t;
27
28
29 ngx_thread_pool_t *ngx_thread_pool_add(ngx_conf_t *cf, ngx_str_t *name);
30 ngx_thread_pool_t *ngx_thread_pool_get(ngx_cycle_t *cycle, ngx_str_t *name);
31
32 ngx_thread_task_t *ngx_thread_task_alloc(ngx_pool_t *pool, size_t size);
33 ngx_int_t ngx_thread_task_post(ngx_thread_pool_t *tp, ngx_thread_task_t *task);
34
35
36 #endif /* _NGX_THREAD_POOL_H_INCLUDED_ */