bugfixed: common_blocked_queue_[alloc|free]_node must use lock
parent
22c7e31752
commit
1eb603cfd1
3
HISTORY
3
HISTORY
|
|
@ -1,6 +1,7 @@
|
|||
|
||||
Version 1.64 2022-11-07
|
||||
Version 1.64 2022-11-10
|
||||
* shared_func.[hc]: normalize_path use type string_t for general purpose
|
||||
* bugfixed: common_blocked_queue_[alloc|free]_node must use lock
|
||||
|
||||
Version 1.63 2022-10-16
|
||||
* sockopt.[hc]: getIpAndPort support ipv6
|
||||
|
|
|
|||
|
|
@ -97,14 +97,21 @@ static inline int common_blocked_queue_push(struct common_blocked_queue
|
|||
static inline struct common_blocked_node *common_blocked_queue_alloc_node(
|
||||
struct common_blocked_queue *queue)
|
||||
{
|
||||
return fast_mblock_alloc_object(&queue->mblock);
|
||||
struct common_blocked_node *node;
|
||||
|
||||
pthread_mutex_lock(&(queue->lc_pair.lock));
|
||||
node = fast_mblock_alloc_object(&queue->mblock);
|
||||
pthread_mutex_unlock(&(queue->lc_pair.lock));
|
||||
return node;
|
||||
}
|
||||
|
||||
static inline void common_blocked_queue_free_node(
|
||||
struct common_blocked_queue *queue,
|
||||
struct common_blocked_node *node)
|
||||
{
|
||||
pthread_mutex_lock(&(queue->lc_pair.lock));
|
||||
fast_mblock_free_object(&queue->mblock, node);
|
||||
pthread_mutex_unlock(&(queue->lc_pair.lock));
|
||||
}
|
||||
|
||||
void common_blocked_queue_push_chain_ex(struct common_blocked_queue *queue,
|
||||
|
|
@ -175,7 +182,7 @@ struct common_blocked_node *common_blocked_queue_pop_all_nodes_ex(
|
|||
common_blocked_queue_pop_all_nodes_ex(queue, false)
|
||||
|
||||
#define common_blocked_queue_free_one_node(queue, node) \
|
||||
fast_mblock_free_object(&queue->mblock, node)
|
||||
common_blocked_queue_free_node(&queue->mblock, node)
|
||||
|
||||
void common_blocked_queue_free_all_nodes(struct common_blocked_queue *queue,
|
||||
struct common_blocked_node *node);
|
||||
|
|
|
|||
Loading…
Reference in New Issue