23 lines
682 B
Diff
23 lines
682 B
Diff
|
--- trunk/src/clock/clock.c (revision 652)
|
||
|
+++ trunk/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;
|