libproxy/libproxy-gnome-waitpid.patch
Dominique Leuenberger 4c68c33f8e Accepting request 412796 from GNOME:Next
- Add libproxy-gnome-waitpid.patch: GNOME3: Wait for pxgsettings to
  vanish while destroying the plugin (boo#967601).

- Add libproxy-gnome-waitpid.patch: GNOME3: Wait for pxgsettings to
  vanish while destroying the plugin (boo#967601).

OBS-URL: https://build.opensuse.org/request/show/412796
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/libproxy?expand=0&rev=121
2016-07-22 12:48:31 +00:00

37 lines
1.3 KiB
Diff

From 8472b3b8ba8c50aedad50d5d8fe8d25cbcb10a30 Mon Sep 17 00:00:00 2001
From: Dominique Leuenberger <dimstar@opensuse.org>
Date: Fri, 22 Jul 2016 14:21:45 +0200
Subject: [PATCH] GNOME3: Wait for pxgsettings to vanish while destroying the
plugin
This helps avoiding zombie processes in case a caller creates/destroys
ProxyFactories for each URL (even though we recommend to have a long-living
PF for caching reasons).
Originally reported at https://bugzilla.opensuse.org/show_bug.cgi?id=967601
---
libproxy/modules/config_gnome3.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libproxy/modules/config_gnome3.cpp b/libproxy/modules/config_gnome3.cpp
index 47e7a42..666d639 100644
--- a/libproxy/modules/config_gnome3.cpp
+++ b/libproxy/modules/config_gnome3.cpp
@@ -24,6 +24,7 @@
#include <sys/types.h> // For stat()
#include <sys/stat.h> // For stat()
#include <unistd.h> // For pipe(), close(), vfork(), dup(), execl(), _exit()
+#include <sys/wait.h> // For waitpid()
#include <signal.h> // For kill()
#include "../extension_config.hpp"
@@ -161,6 +162,7 @@ class gnome_config_extension : public config_extension {
fclose(this->read);
fclose(this->write);
kill(this->pid, SIGTERM);
+ waitpid(this->pid, NULL, 0);
}
void store_response(const string &type,