diff options
Diffstat (limited to 'src/tag_pool.c')
-rw-r--r-- | src/tag_pool.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/tag_pool.c b/src/tag_pool.c index dc2e0df2b..1c7ae31ab 100644 --- a/src/tag_pool.c +++ b/src/tag_pool.c @@ -21,7 +21,7 @@ #include <assert.h> -pthread_mutex_t tag_pool_lock = PTHREAD_MUTEX_INITIALIZER; +GMutex *tag_pool_lock = NULL; #define NUM_SLOTS 4096 @@ -80,6 +80,19 @@ static struct slot *slot_alloc(struct slot *next, return slot; } +void tag_pool_init(void) +{ + g_assert(tag_pool_lock == NULL); + tag_pool_lock = g_mutex_new(); +} + +void tag_pool_deinit(void) +{ + g_assert(tag_pool_lock != NULL); + g_mutex_free(tag_pool_lock); + tag_pool_lock = NULL; +} + struct tag_item *tag_pool_get_item(enum tag_type type, const char *value, int length) { |