]> git.sesse.net Git - vlc/commitdiff
config_PutPsz: reduce lock contention scope
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 29 May 2010 15:25:07 +0000 (18:25 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 29 May 2010 15:29:16 +0000 (18:29 +0300)
src/config/core.c

index 8f4cdc7df5100b6c24ef28669bbd749ba9b70acd..24925efa8ea6bc4a3a6fcc1077ae7da40036c264 100644 (file)
@@ -271,16 +271,17 @@ void config_PutPsz( vlc_object_t *p_this,
         return;
     }
 
-    vlc_rwlock_wrlock (&config_lock);
+    char *str;
+    if ((psz_value != NULL) && *psz_value)
+        str = strdup (psz_value);
+    else
+        str = NULL;
 
+    vlc_rwlock_wrlock (&config_lock);
     /* backup old value */
     oldval.psz_string = (char *)p_config->value.psz;
 
-    if ((psz_value != NULL) && *psz_value)
-        p_config->value.psz = strdup (psz_value);
-    else
-        p_config->value.psz = NULL;
-
+    p_config->value.psz = str;
     p_config->b_dirty = true;
 
     val.psz_string = (char *)p_config->value.psz;