Dominique Leuenberger
4c68c33f8e
- 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
37 lines
1.3 KiB
Diff
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,
|
|
|