X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=gui.c;h=f33fa7c8c42f81ab0f9ea4c724473d9861dd91e2;hp=37d0d8e9ec205f0f3992d21b3a97519b277fc7af;hb=d0f8004acf8e8f78323d672813b4ead62d0c92ff;hpb=f6f50d03a09d6bc423324206d274336e9905bbb4 diff --git a/gui.c b/gui.c index 37d0d8e9..f33fa7c8 100644 --- a/gui.c +++ b/gui.c @@ -6,6 +6,9 @@ /** \file gui.c ncurses-based interface for paraslash */ +#include +#include +#include #include "gui.cmdline.h" #include "para.h" #include "gui.h" @@ -14,6 +17,8 @@ #include "gui_common.h" #include "fd.h" #include "error.h" +#include "list.h" +#include "sched.h" #include "signal.h" /** define the array of error lists needed by para_gui */ @@ -485,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); } @@ -721,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; @@ -912,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(); }