From aa2fc62cbb3b02a544922e6cf35eac6e423f97de Mon Sep 17 00:00:00 2001 From: YuQing <384681@qq.com> Date: Tue, 20 Dec 2022 09:00:24 +0800 Subject: [PATCH] add functions locked_list_move and locked_list_move_tail --- HISTORY | 3 +++ src/locked_list.h | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/HISTORY b/HISTORY index 248354b..a151414 100644 --- a/HISTORY +++ b/HISTORY @@ -1,4 +1,7 @@ +Version 1.65 2022-12-20 + * locked_list.h: add functions locked_list_move and locked_list_move_tail + Version 1.64 2022-11-19 * shared_func.[hc]: normalize_path use type string_t for general purpose * bugfixed: common_blocked_queue_[alloc|free]_node must use lock diff --git a/src/locked_list.h b/src/locked_list.h index 11fda79..3584942 100644 --- a/src/locked_list.h +++ b/src/locked_list.h @@ -45,6 +45,22 @@ extern "C" { PTHREAD_MUTEX_UNLOCK(&list->lock); } + static inline void locked_list_move(struct fc_list_head *obj, + FCLockedList *list) + { + PTHREAD_MUTEX_LOCK(&list->lock); + fc_list_move(obj, &list->head); + PTHREAD_MUTEX_UNLOCK(&list->lock); + } + + static inline void locked_list_move_tail(struct fc_list_head *obj, + FCLockedList *list) + { + PTHREAD_MUTEX_LOCK(&list->lock); + fc_list_move_tail(obj, &list->head); + PTHREAD_MUTEX_UNLOCK(&list->lock); + } + static inline void locked_list_del(struct fc_list_head *old, FCLockedList *list) {