X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=gui.c;h=2a0174b8e92e7dfa9ff0c4fee7f8929b9cbb7b20;hp=baab0bd905e56fee0a7a821e0c536e15b532db5f;hb=8ea82f861ae1dd0d842b1fe035d0b23d7b5d3ed7;hpb=9d75ded33ce6664156acb07e311f51d55970bbea diff --git a/gui.c b/gui.c index baab0bd9..2a0174b8 100644 --- a/gui.c +++ b/gui.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1998-2013 Andre Noll + * Copyright (C) 1998-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -526,7 +526,7 @@ static int add_output_line(char *line, void *data) static int loglevel; -__printf_2_3 void curses_log(int ll, const char *fmt,...) +static __printf_2_3 void curses_log(int ll, const char *fmt,...) { int color; char *msg; @@ -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);