From: Andre Noll Date: Sun, 6 Jun 2010 16:35:47 +0000 (+0200) Subject: Merge branch 'maint' X-Git-Tag: v0.4.3~19^2 X-Git-Url: http://git.tue.mpg.de/?a=commitdiff_plain;h=9b565c60fd159e12d255bb18db9dbff066deebea;p=paraslash.git Merge branch 'maint' Conflicts: gui.c --- 9b565c60fd159e12d255bb18db9dbff066deebea diff --cc gui.c index fa1538b0,01cca6e6..dbe0a19c --- a/gui.c +++ b/gui.c @@@ -902,15 -880,14 +902,21 @@@ static int open_stat_pipe(void if (init) init = 0; else - sleep(1); + /* + * Sleep a bit to avoid a busy loop. As the call to sleep() may + * be interrupted by SIGCHLD, we simply wait until the call + * succeeds. + */ + while (sleep(2)) + ; /* nothing */ - return para_open_audiod_pipe(conf.stat_cmd_arg); + ret = para_exec_cmdline_pid(&pid, conf.stat_cmd_arg, fds); + if (ret < 0) + return ret; + ret = mark_fd_nonblocking(fds[1]); + if (ret >= 0) + return fds[1]; + close(fds[1]); + return ret; } /*