summaryrefslogtreecommitdiff
path: root/community/tint2/fix_defunct_processes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/tint2/fix_defunct_processes.patch')
-rw-r--r--community/tint2/fix_defunct_processes.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/community/tint2/fix_defunct_processes.patch b/community/tint2/fix_defunct_processes.patch
new file mode 100644
index 000000000..28ea6c27a
--- /dev/null
+++ b/community/tint2/fix_defunct_processes.patch
@@ -0,0 +1,31 @@
+http://code.google.com/p/tint2/issues/detail?id=430
+Submitted By: David B. Cortarello (Nomius) <dcortarello at gmail dot com>
+Date: 18-05-2013
+Initial Package Version: subversion trunk (revision 652)
+Description: Fix zombie (defunct) processes created in clock_action.
+This patch provides the following bugfixes:
+ * This patch uses waitpid with WNOHANG to eliminate all zombie processes created by tint2 (in particular by the clock -right or left- click). This is done by a small hack in the update_clocks_min, called to "redraw" that area.
+
+--- src/clock/clock.c (revision 652)
++++ src/clock/clock.c (working copy)
+@@ -23,6 +23,8 @@
+ #include <cairo-xlib.h>
+ #include <pango/pangocairo.h>
+ #include <stdlib.h>
++#include <sys/types.h>
++#include <sys/wait.h>
+
+ #include "window.h"
+ #include "server.h"
+@@ -98,6 +103,10 @@
+ // remember old_sec because after suspend/hibernate the clock should be updated directly, and not
+ // on next minute change
+ time_t old_sec = time_clock.tv_sec;
++
++ // Little hack to wait executed commands in clock_action avoiding zombies
++ waitpid(-1, NULL, WNOHANG);
++
+ gettimeofday(&time_clock, 0);
+ if (time_clock.tv_sec % 60 == 0 || time_clock.tv_sec - old_sec > 60) {
+ int i;
+