-
-
-#undef var_AcquireMutex
-/**
- * Finds a process-wide mutex, creates it if needed, and locks it.
- * Unlock with vlc_mutex_unlock().
- * FIXME: This is very inefficient, this is not memory-safe and this leaks
- * memory. Use static locks instead.
- */
-vlc_mutex_t *var_AcquireMutex( const char *name )
-{
- vlc_mutex_t *lock;
-
- vlc_mutex_lock (&named_mutexes.lock);
- lock = vlc_dictionary_value_for_key (&named_mutexes.list, name);
- if (lock == kVLCDictionaryNotFound)
- {
- lock = malloc (sizeof (*lock));
- vlc_mutex_init (lock);
- vlc_dictionary_insert (&named_mutexes.list, name, lock);
- }
- vlc_mutex_unlock (&named_mutexes.lock);
-
- vlc_mutex_lock (lock);
- return lock;
-}