Deleted Added
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#ifndef _NXT_WORK_QUEUE_H_INCLUDED_
8#define _NXT_WORK_QUEUE_H_INCLUDED_
9
10
11typedef struct nxt_work_s nxt_work_t;
12
13struct nxt_task_s {
14 nxt_thread_t *thread;
15 nxt_log_t *log;
16 uint32_t ident;
17 nxt_work_t *next_work;
18
19 /* TODO: exception_handler, prev/next task, subtasks. */
20};
21
22
23#define nxt_task_next_ident() \
24 ((uint32_t) nxt_atomic_fetch_add(&nxt_task_ident, 1) & 0x3fffffff)
25

--- 73 unchanged lines hidden (view full) ---

99 work->handler = _handler; \
100 work->task = _task; \
101 work->obj = _obj; \
102 work->data = _data; \
103 } while (0)
104
105#if (NXT_DEBUG)
106
107NXT_EXPORT void nxt_work_queue_name(nxt_work_queue_t *wq, const char* name);
108NXT_EXPORT void nxt_work_queue_thread_adopt(nxt_work_queue_t *wq);
109
110#else
111
112#define \
113nxt_work_queue_name(_wq, _name)
114
115#define nxt_work_queue_thread_adopt(_wq)

--- 13 unchanged lines hidden ---