Add hb_mutex_free() and use it
Based on patch by Bradley Grainger.
This commit is contained in:
parent
8d5186484b
commit
f55272ecde
|
@ -158,6 +158,7 @@ hb_blob_destroy (hb_blob_t *blob)
|
||||||
if (!hb_object_destroy (blob)) return;
|
if (!hb_object_destroy (blob)) return;
|
||||||
|
|
||||||
_hb_blob_destroy_user_data (blob);
|
_hb_blob_destroy_user_data (blob);
|
||||||
|
hb_mutex_free (blob->lock);
|
||||||
|
|
||||||
free (blob);
|
free (blob);
|
||||||
}
|
}
|
||||||
|
|
|
@ -234,10 +234,11 @@ typedef volatile int hb_atomic_int_t;
|
||||||
|
|
||||||
typedef GStaticMutex hb_mutex_t;
|
typedef GStaticMutex hb_mutex_t;
|
||||||
#define HB_MUTEX_INIT G_STATIC_MUTEX_INIT
|
#define HB_MUTEX_INIT G_STATIC_MUTEX_INIT
|
||||||
#define hb_mutex_init(M) g_static_mutex_init (&M)
|
#define hb_mutex_init(M) g_static_mutex_init (&(M))
|
||||||
#define hb_mutex_lock(M) g_static_mutex_lock (&M)
|
#define hb_mutex_lock(M) g_static_mutex_lock (&(M))
|
||||||
#define hb_mutex_trylock(M) g_static_mutex_trylock (&M)
|
#define hb_mutex_trylock(M) g_static_mutex_trylock (&(M))
|
||||||
#define hb_mutex_unlock(M) g_static_mutex_unlock (&M)
|
#define hb_mutex_unlock(M) g_static_mutex_unlock (&(M))
|
||||||
|
#define hb_mutex_free(M) g_static_mutex_free (&(M))
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
@ -257,10 +258,11 @@ typedef volatile int hb_atomic_int_t;
|
||||||
|
|
||||||
typedef volatile int hb_mutex_t;
|
typedef volatile int hb_mutex_t;
|
||||||
#define HB_MUTEX_INIT 0
|
#define HB_MUTEX_INIT 0
|
||||||
#define hb_mutex_init(M) HB_STMT_START { (M) = 0; } HB_STMT_END
|
#define hb_mutex_init(M) ((void) ((M) = 0))
|
||||||
#define hb_mutex_lock(M) HB_STMT_START { (M) = 1; } HB_STMT_END
|
#define hb_mutex_lock(M) ((void) ((M) = 1))
|
||||||
#define hb_mutex_trylock(M) ((M) = 1, 1)
|
#define hb_mutex_trylock(M) ((M) = 1, 1)
|
||||||
#define hb_mutex_unlock(M) HB_STMT_START { (M) = 0; } HB_STMT_END
|
#define hb_mutex_unlock(M) ((void) ((M) = 0))
|
||||||
|
#define hb_mutex_free(M) ((void) ((M) = 2))
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue