aboutsummaryrefslogtreecommitdiffstats
path: root/src/tag_pool.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tag_pool.c')
-rw-r--r--src/tag_pool.c15
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)
{