aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_thread_pool.c
Commit message (Collapse)AuthorAge
* Thread pools: create threads in detached state.Piotr Sikora2016-08-15
| | | | | | | | This prevents theoretical resource leak, since those threads are never joined. Found with ThreadSanitizer. Signed-off-by: Piotr Sikora <piotrsikora@google.com>
* Thread pools: memory barriers in task completion notifications.Maxim Dounin2016-04-19
| | | | | | | | | | The ngx_thread_pool_done object isn't volatile, and at least some compilers assume that it is permitted to reorder modifications of volatile and non-volatile objects. Added appropriate ngx_memory_barrier() calls to make sure all modifications will happen before the lock is released. Reported by Mindaugas Rasiukevicius, http://mailman.nginx.org/pipermail/nginx-devel/2016-April/008160.html.
* Thread pools: implemented graceful exiting of threads.Valentin Bartenev2015-03-23
|
* Thread pools: removed unused pointer to memory pool.Valentin Bartenev2015-03-23
| | | | No functional changes.
* Thread pools: keep waiting tasks mutex in ngx_thread_pool_t.Valentin Bartenev2015-03-23
| | | | | | It's not needed for completed tasks queue since the previous change. No functional changes.
* Thread pools: replaced completed tasks queue mutex with spinlock.Valentin Bartenev2015-03-23
|
* Thread pools: silence warning on process exit.Ruslan Ermilov2015-03-19
| | | | | Work around pthread_cond_destroy() and pthread_mutex_destroy() returning EBUSY. A proper solution would be to ensure all threads are terminated.
* Thread pools: fixed the waiting tasks accounting.Ruslan Ermilov2015-03-19
| | | | | Behave like POSIX semaphores. If N worker threads are waiting for tasks, at least that number of tasks should be allowed to be put into the queue.
* Thread pools: keep waiting tasks counter in ngx_thread_pool_t.Ruslan Ermilov2015-03-19
| | | | | | It's not needed for completed tasks queue. No functional changes.
* Thread pools implementation.Valentin Bartenev2015-03-14