diff options
Diffstat (limited to 'source/blender/blenlib/intern/threads.c')
-rw-r--r-- | source/blender/blenlib/intern/threads.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/blender/blenlib/intern/threads.c b/source/blender/blenlib/intern/threads.c index 1d3312fafb1..8b1ba38a35a 100644 --- a/source/blender/blenlib/intern/threads.c +++ b/source/blender/blenlib/intern/threads.c @@ -399,6 +399,19 @@ void BLI_mutex_end(ThreadMutex *mutex) pthread_mutex_destroy(mutex); } +ThreadMutex *BLI_mutex_alloc(void) +{ + ThreadMutex *mutex = MEM_callocN(sizeof(ThreadMutex), "ThreadMutex"); + BLI_mutex_init(mutex); + return mutex; +} + +void BLI_mutex_free(ThreadMutex *mutex) +{ + BLI_mutex_end(mutex); + MEM_freeN(mutex); +} + /* Spin Locks */ void BLI_spin_init(SpinLock *spin) @@ -464,6 +477,19 @@ void BLI_rw_mutex_end(ThreadRWMutex *mutex) pthread_rwlock_destroy(mutex); } +ThreadRWMutex *BLI_rw_mutex_alloc(void) +{ + ThreadRWMutex *mutex = MEM_callocN(sizeof(ThreadRWMutex), "ThreadRWMutex"); + BLI_rw_mutex_init(mutex); + return mutex; +} + +void BLI_rw_mutex_free(ThreadRWMutex *mutex) +{ + BLI_rw_mutex_end(mutex); + MEM_freeN(mutex); +} + /* ************************************************ */ typedef struct ThreadedWorker { |