X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=gui.c;h=e60e6f54e39daf44a3fec62653d995107d9cf7ba;hp=d8e200342fc991380445b6fa120ac2d2560bb05e;hb=d237ec8d2fc5a697f4fa36832cfd6a037a8db7e6;hpb=2c679eeb8bbc93220f85403eca6e9380dc624a6a diff --git a/gui.c b/gui.c index d8e20034..e60e6f54 100644 --- a/gui.c +++ b/gui.c @@ -6,9 +6,9 @@ /** \file gui.c ncurses-based interface for paraslash */ +#include #include #include - #include "gui.cmdline.h" #include "para.h" #include "gui.h" @@ -490,7 +490,7 @@ static void setup_signal_handling(void) para_install_sighandler(SIGCHLD); para_install_sighandler(SIGWINCH); para_install_sighandler(SIGUSR1); - signal(SIGPIPE, SIG_IGN); +// signal(SIGPIPE, SIG_IGN); signal(SIGHUP, SIG_IGN); } @@ -726,10 +726,11 @@ static void init_curses(void) static void check_sigchld(void) { + int ret; pid_t pid; reap_next_child: - pid = para_reap_child(); - if (pid <= 0) + ret = para_reap_child(&pid); + if (ret <= 0) return; if (pid == cmd_pid) { cmd_pid = 0; @@ -748,7 +749,7 @@ static int check_stat_line(char *line, __a_unused void *data) // PARA_INFO_LOG("%s: checking: %s\n", __func__, line); i = stat_line_valid(line); if (i >= 0) { - line += strlen(status_item_list[i]) + 1; + line += strlen(status_item_list[i]) + 2; free(stat_content[i]); stat_content[i] = para_strdup(line); print_stat_item(i); @@ -917,8 +918,8 @@ repeat: close(audiod_pipe); audiod_pipe = -1; clear_all_items(); - free(stat_content[SI_STATUS_BAR]); - stat_content[SI_STATUS_BAR] = + free(stat_content[SI_BASENAME]); + stat_content[SI_BASENAME] = para_strdup("audiod not running!?"); print_all_items(); }