From d664e70fdb3ef1c9b523efc7e0616e8ff4a1bc37 Mon Sep 17 00:00:00 2001 From: yuqing Date: Wed, 13 Jun 2018 10:12:34 +0800 Subject: [PATCH] add function blocked_queue_terminate_all --- src/common_blocked_queue.h | 8 +++++++- src/fast_blocked_queue.h | 11 +++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/common_blocked_queue.h b/src/common_blocked_queue.h index 2a91403..684d9f8 100644 --- a/src/common_blocked_queue.h +++ b/src/common_blocked_queue.h @@ -45,7 +45,13 @@ int common_blocked_queue_init_ex(struct common_blocked_queue *queue, void common_blocked_queue_destroy(struct common_blocked_queue *queue); -static inline void common_blocked_queue_terminate(struct common_blocked_queue *queue, const int count) +static inline void common_blocked_queue_terminate(struct common_blocked_queue *queue) +{ + pthread_cond_signal(&(queue->cond)); +} + +static inline void common_blocked_queue_terminate_all( + struct common_blocked_queue *queue, const int count) { int i; for (i=0; icond)); } +static inline void blocked_queue_terminate_all(struct fast_blocked_queue *pQueue, + const int count) +{ + int i; + for (i=0; icond)); + } +} + 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); #ifdef __cplusplus