From 9229a5cf0b8fddf8972ea7f759ee63dbe3d5819c Mon Sep 17 00:00:00 2001 From: yuqing Date: Tue, 26 Jan 2016 09:52:31 +0800 Subject: [PATCH] add blocked_queue_terminate --- src/fast_blocked_queue.c | 6 ++++++ src/fast_blocked_queue.h | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/src/fast_blocked_queue.c b/src/fast_blocked_queue.c index 1d89aab..afe0047 100644 --- a/src/fast_blocked_queue.c +++ b/src/fast_blocked_queue.c @@ -36,6 +36,12 @@ int blocked_queue_init(struct fast_blocked_queue *pQueue) return 0; } +void blocked_queue_destroy(struct fast_blocked_queue *pQueue) +{ + pthread_cond_destroy(&(pQueue->cond)); + pthread_mutex_destroy(&(pQueue->lock)); +} + int blocked_queue_push(struct fast_blocked_queue *pQueue, struct fast_task_info *pTask) { diff --git a/src/fast_blocked_queue.h b/src/fast_blocked_queue.h index e4ef303..d7ce068 100644 --- a/src/fast_blocked_queue.h +++ b/src/fast_blocked_queue.h @@ -31,6 +31,13 @@ extern "C" { #endif int blocked_queue_init(struct fast_blocked_queue *pQueue); +void blocked_queue_destroy(struct fast_blocked_queue *pQueue); + +static inline void blocked_queue_terminate(struct fast_blocked_queue *pQueue) +{ + pthread_cond_signal(&(pQueue->cond)); +} + int blocked_queue_push(struct fast_blocked_queue *pQueue, struct fast_task_info *pTask); struct fast_task_info *blocked_queue_pop(struct fast_blocked_queue *pQueue);