]> git.sesse.net Git - vlc/commitdiff
var_GetGlobalMutex() creates and gets a global mutex
authorRémi Denis-Courmont <rem@videolan.org>
Thu, 16 Aug 2007 16:51:49 +0000 (16:51 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Thu, 16 Aug 2007 16:51:49 +0000 (16:51 +0000)
include/vlc_variables.h
src/libvlc.sym
src/misc/variables.c

index fedaaad20b4a1575bb70b8d5fc51ccc6cf568154..71365c6a277524053e208eae061dcb16e5331a03 100644 (file)
@@ -126,6 +126,8 @@ VLC_EXPORT( void, __var_OptionParse, ( vlc_object_t *, const char * ) );
 #define var_Command(a,b,c,d,e) __var_Command( VLC_OBJECT( a ), b, c, d, e )
 VLC_EXPORT( int, __var_Command, ( vlc_object_t *, const char *, const char *, const char *, char ** ) );
 
+VLC_EXPORT( vlc_mutex_t *, var_GetGlobalMutex, ( const char * ) );
+
 /**
  * __var_Create() with automatic casting.
  */
index 75ec6362252a60930c0c718968b033fcde9dc757..23610fa1201da713253d77181130891b1083eafc 100644 (file)
@@ -342,6 +342,7 @@ __var_Create
 __var_DelCallback
 __var_Destroy
 __var_Get
+var_GetGlobalMutex
 __var_OptionParse
 __var_Set
 __var_Type
@@ -362,7 +363,6 @@ VLC_VariableSet
 __vlc_cond_destroy
 __vlc_cond_init
 vlc_current_object
-vlc_global_object
 vlc_error
 VLC_Error
 __vlc_execve
index 8abba518c41d0c5ca026cd2a8f60b6e0aba0e11b..a20d3359e55a8f92267b7fadb1ec78a8bd6a557e 100644 (file)
@@ -828,6 +828,23 @@ int __var_Get( vlc_object_t *p_this, const char *psz_name, vlc_value_t *p_val )
     return VLC_SUCCESS;
 }
 
+
+/**
+ * Gets a process-wide mutex, creates it if needed.
+ */
+vlc_mutex_t *var_GetGlobalMutex( const char *name )
+{
+    libvlc_global_data_t *p_global = vlc_global_object();
+    vlc_value_t val;
+
+    if( var_Create( p_global, name, VLC_VAR_MUTEX ) )
+        return NULL;
+
+    var_Get( p_global, &val );
+    return val.p_lockval;
+}
+
+
 /**
  * Register a callback in a variable
  *