From 1b35cbc09467d1ec4c08c051fdce685f501bca34 Mon Sep 17 00:00:00 2001 From: YuQing <384681@qq.com> Date: Mon, 20 Sep 2021 10:40:17 +0800 Subject: [PATCH] sorted_queue.c: set notify correctly --- libfastcommon.spec | 1 - src/sorted_queue.c | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libfastcommon.spec b/libfastcommon.spec index 463a60d..69d4b84 100644 --- a/libfastcommon.spec +++ b/libfastcommon.spec @@ -1,6 +1,5 @@ %define LibFastcommonDevel libfastcommon-devel -%define LibFastcommonDebuginfo libfastcommon-debuginfo %define CommitVersion %(echo $COMMIT_VERSION) Name: libfastcommon diff --git a/src/sorted_queue.c b/src/sorted_queue.c index 6e0bf03..d29ff64 100644 --- a/src/sorted_queue.c +++ b/src/sorted_queue.c @@ -45,9 +45,11 @@ void sorted_queue_push_ex(struct sorted_queue *sq, void *data, bool *notify) FC_QUEUE_NEXT_PTR(&sq->queue, data) = NULL; FC_QUEUE_NEXT_PTR(&sq->queue, sq->queue.tail) = data; sq->queue.tail = data; + *notify = false; } else if (sq->compare_func(data, sq->queue.head) < 0) { FC_QUEUE_NEXT_PTR(&sq->queue, data) = sq->queue.head; sq->queue.head = data; + *notify = true; } else { previous = sq->queue.head; current = FC_QUEUE_NEXT_PTR(&sq->queue, previous); @@ -59,8 +61,8 @@ void sorted_queue_push_ex(struct sorted_queue *sq, void *data, bool *notify) FC_QUEUE_NEXT_PTR(&sq->queue, data) = FC_QUEUE_NEXT_PTR( &sq->queue, previous); FC_QUEUE_NEXT_PTR(&sq->queue, previous) = data; + *notify = false; } - *notify = false; } PTHREAD_MUTEX_UNLOCK(&sq->queue.lc_pair.lock);