From 2f5357149a3c7597de173884f85a87fefe24064e Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Sat, 29 May 2010 18:25:07 +0300 Subject: [PATCH] config_PutPsz: reduce lock contention scope --- src/config/core.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/config/core.c b/src/config/core.c index 8f4cdc7df5..24925efa8e 100644 --- a/src/config/core.c +++ b/src/config/core.c @@ -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; -- 2.39.2