X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=gui.c;h=fa1538b0d63f3db2ca8be6497aa0ce797d3a89a1;hp=8e2dee1cb56c8951f0f591910b62f75823738ad3;hb=60ef885705932a682097ad2b9f2379282d814e79;hpb=b40c89e243f10560f1c8e491239ab8c07dfb7dc5 diff --git a/gui.c b/gui.c index 8e2dee1c..fa1538b0 100644 --- a/gui.c +++ b/gui.c @@ -191,20 +191,6 @@ static struct gui_command command_list[] = { } }; -static int para_open_stat_pipe(char *cmd) -{ - int fds[3] = {0, 1, 0}; - pid_t pid; - int ret = para_exec_cmdline_pid(&pid, cmd, fds); - if (ret < 0) - return ret; - ret = mark_fd_nonblocking(fds[1]); - if (ret > 0) - return fds[1]; - close(fds[1]); - return ret; -} - static int find_cmd_byname(char *name) { int i; @@ -910,12 +896,21 @@ static void handle_signal(int sig) static int open_stat_pipe(void) { static int init = 1; + int ret, fds[3] = {0, 1, 0}; + pid_t pid; if (init) init = 0; else sleep(1); - return para_open_stat_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; } /*