X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=gui.c;h=2a0174b8e92e7dfa9ff0c4fee7f8929b9cbb7b20;hb=8ea82f861ae1dd0d842b1fe035d0b23d7b5d3ed7;hp=0f0a4a94d435b6ca836d99b95cb76a74ecbfc6f8;hpb=027f2c1237051d2d569d6be7f381c886f659bac3;p=paraslash.git diff --git a/gui.c b/gui.c index 0f0a4a94..2a0174b8 100644 --- a/gui.c +++ b/gui.c @@ -560,7 +560,6 @@ static void setup_signal_handling(void) para_install_sighandler(SIGCHLD); para_install_sighandler(SIGWINCH); para_install_sighandler(SIGUSR1); - para_sigaction(SIGHUP, SIG_IGN); } /* kill every process in the process group and exit */ @@ -1055,6 +1054,7 @@ repeat: close(command_fds[i]); command_fds[i] = -1; flags[i] = 0; + cbo[i] = 0; if (command_fds[!i] < 0) /* both fds closed */ return 0; } @@ -1363,7 +1363,13 @@ static void com_reread_conf(void) } PARA_INFO_LOG("rereading command line options and config file"); gui_cmdline_parser_ext(_argc, _argv, &conf, ¶ms); + /* + * Despite .print_errors is set to 0, gengetopt will print to stderr + * anyway, and exit on errors. So we have to shutdown curses first. + */ + shutdown_curses(); gui_cmdline_parser_config_file(cf, &conf, ¶ms); + init_curses(); PARA_NOTICE_LOG("config file reloaded"); if (check_key_map_args() < 0) finish(EXIT_FAILURE);