From eae097b88e857d28fd0660a857fedb9cfc2cd3dd Mon Sep 17 00:00:00 2001 From: Joonbum Ko Date: Fri, 12 Jan 2024 20:37:21 +0900 Subject: [PATCH] utils_gthread: add APIs to use GRecMutex Change-Id: I4a6931f756d33658a332b9579a6dd0d42321c655 Signed-off-by: Joonbum Ko --- src/tpl_utils_gthread.c | 24 ++++++++++++++++++++++++ src/tpl_utils_gthread.h | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/src/tpl_utils_gthread.c b/src/tpl_utils_gthread.c index 2e46ee4..54cd2b6 100644 --- a/src/tpl_utils_gthread.c +++ b/src/tpl_utils_gthread.c @@ -444,6 +444,30 @@ tpl_gmutex_unlock(tpl_gmutex *gmutex) } void +tpl_gmutex_rec_init(tpl_gmutex_rec *gmutex_rec) +{ + g_rec_mutex_init(gmutex_rec); +} + +void +tpl_gmutex_rec_clear(tpl_gmutex_rec *gmutex_rec) +{ + g_rec_mutex_clear(gmutex_rec); +} + +void +tpl_gmutex_rec_lock(tpl_gmutex_rec *gmutex_rec) +{ + g_rec_mutex_lock(gmutex_rec); +} + +void +tpl_gmutex_rec_unlock(tpl_gmutex_rec *gmutex_rec) +{ + g_rec_mutex_unlock(gmutex_rec); +} + +void tpl_gcond_init(tpl_gcond *gcond) { g_cond_init(gcond); diff --git a/src/tpl_utils_gthread.h b/src/tpl_utils_gthread.h index 2c1eee6..40954c0 100644 --- a/src/tpl_utils_gthread.h +++ b/src/tpl_utils_gthread.h @@ -17,6 +17,7 @@ typedef int (*tpl_gsource_func) (void *user_data); typedef GMutex tpl_gmutex; typedef GCond tpl_gcond; +typedef GRecMutex tpl_gmutex_rec; typedef enum { FD_TYPE_NONE = -1, /* not specified */ @@ -167,6 +168,38 @@ void tpl_gmutex_unlock(tpl_gmutex *gmutex); /** + * wrapping g_rec_mutex_init() + * + * @param gmutex_rec Pointer to tpl_gmutex_rec. + */ +void +tpl_gmutex_rec_init(tpl_gmutex_rec *gmutex_rec); + +/** + * wrapping g_rec_mutex_clear() + * + * @param gmutex_rec Pointer to tpl_gmutex_rec. + */ +void +tpl_gmutex_rec_clear(tpl_gmutex_rec *gmutex_rec); + +/** + * wrapping g_rec_mutex_lock() + * + * @param gmutex_rec Pointer to tpl_gmutex_rec. + */ +void +tpl_gmutex_rec_lock(tpl_gmutex_rec *gmutex_rec); + +/** + * wrapping g_rec_mutex_unlock() + * + * @param gmutex_rec Pointer to tpl_gmutex_rec. + */ +void +tpl_gmutex_rec_unlock(tpl_gmutex_rec *gmutex_rec); + +/** * wrapping g_cond_init() * * @param gcond Pointer to tpl_gcond. -- 2.7.4