all repos — openbox @ 66d3006671e7729b3f6244c49fda175caaae5174

openbox fork - make it a bit more like ryudo

Fixed child wait.
Scott Moynes smoynes@nexus.carleton.ca
commit

66d3006671e7729b3f6244c49fda175caaae5174

parent

2d6c9a7ba683271aeda92df524a38a52236a0228

1 files changed, 7 insertions(+), 2 deletions(-)

jump to
M plugins/menu/timed_menu.cplugins/menu/timed_menu.c

@@ -31,6 +31,7 @@ char *command; /* for the PIPE */

char *buf; unsigned long buflen; int fd; + pid_t pid; } Timed_Menu_Data;

@@ -54,7 +55,10 @@ close(TIMED_MENU_DATA(m)->fd);

TIMED_MENU_DATA(m)->fd = -1; } - /* child is reaped by glib ? */ + if (TIMED_MENU_DATA(m)->pid != -1) { + waitpid(TIMED_MENU_DATA(m)->pid, NULL, 0); + TIMED_MENU_DATA(m)->pid = -1; + } } void timed_menu_read_pipe(int fd, Menu *menu)

@@ -134,7 +138,7 @@ args,

NULL, G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, NULL, - NULL, + &TIMED_MENU_DATA(data)->pid, NULL, NULL, &child_stdout,

@@ -168,6 +172,7 @@ d->command = "find /media -name *.m3u";

d->buf = NULL; d->buflen = 0; d->fd = -1; + d->pid = -1; m->plugin_data = (void *)d;