core-util: Add pa_unset_env()
authorTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Thu, 2 Oct 2014 09:14:09 +0000 (12:14 +0300)
committerTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Thu, 2 Oct 2014 09:14:09 +0000 (12:14 +0300)
Since we already have pa_set_env(), it's nice to also have a
corresponding function for unsetting environment variables.

src/pulsecore/core-util.c
src/pulsecore/core-util.h
src/pulsecore/start-child.c

index 6b7cd35..e9843ef 100644 (file)
@@ -2859,6 +2859,18 @@ void pa_set_env(const char *key, const char *value) {
 #endif
 }
 
+void pa_unset_env(const char *key) {
+    pa_assert(key);
+
+    /* This is not thread-safe */
+
+#ifdef OS_IS_WIN32
+    SetEnvironmentVariable(key, NULL);
+#else
+    unsetenv(key);
+#endif
+}
+
 void pa_set_env_and_record(const char *key, const char *value) {
     pa_assert(key);
     pa_assert(value);
@@ -2881,11 +2893,7 @@ void pa_unset_env_recorded(void) {
         if (!s)
             break;
 
-#ifdef OS_IS_WIN32
-        SetEnvironmentVariable(s, NULL);
-#else
-        unsetenv(s);
-#endif
+        pa_unset_env(s);
         pa_xfree(s);
     }
 }
index d717299..8db56c5 100644 (file)
@@ -210,6 +210,7 @@ int pa_reset_sigs(int except, ...);
 int pa_reset_sigsv(const int except[]);
 
 void pa_set_env(const char *key, const char *value);
+void pa_unset_env(const char *key);
 void pa_set_env_and_record(const char *key, const char *value);
 void pa_unset_env_recorded(void);
 
index 7f55d4e..8318b9b 100644 (file)
@@ -92,7 +92,7 @@ int pa_start_child_for_read(const char *name, const char *argv1, pid_t *pid) {
 
         /* Make sure our children are not influenced by the
          * LD_BIND_NOW we set for ourselves. */
-        unsetenv("LD_BIND_NOW");
+        pa_unset_env("LD_BIND_NOW");
 
 #ifdef PR_SET_PDEATHSIG
         /* On Linux we can use PR_SET_PDEATHSIG to have the helper