X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=gui.c;h=fff5741dca26c6a472cd67b2fdd7d638131fe3b6;hp=351748e43a3fe2a93886820871b8a6411d5f9d40;hb=821c67c164f932a189927f62b3ddcf2ee95b455a;hpb=2ed89c59f0efcd0a2763f47c7d3455663241e623 diff --git a/gui.c b/gui.c index 351748e4..fff5741d 100644 --- a/gui.c +++ b/gui.c @@ -20,7 +20,6 @@ #include "gui.cmdline.h" #include "para.h" -#include "gcc-compat.h" #include #include "ringbuffer.h" #include "string.h" @@ -841,25 +840,17 @@ static void handle_signal(int sig) } } -/* open pipe if last attempt to open was more than 2 secs ago */ static int open_audiod_pipe(void) { - static time_t open_time, *p; - time_t now; - double diff; - - if (p) { - time(&now); - diff = difftime(now, open_time); - if (diff < 2) - return -1; - } else - p = &open_time; - time(&open_time); + static int init = 1; + + if (init) + init = 0; + else + sleep(1); return para_open_audiod_pipe(conf.stat_cmd_arg); } - /* * This is the core select loop. Besides the (internal) signal * pipe, the following other fds are checked according to the mode: @@ -904,7 +895,8 @@ repeat: FD_SET(command_pipe, &rfds); max_fileno = MAX(max_fileno, command_pipe); } - FD_SET(STDIN_FILENO, &rfds); + if (curses_active) + FD_SET(STDIN_FILENO, &rfds); ret = select(max_fileno + 1, &rfds, NULL, NULL, &tv); // PARA_DEBUG_LOG("select returned %d\n", ret); @@ -936,10 +928,9 @@ repeat: audiod_pipe = -1; clear_all_items(); free(stat_content[SI_STATUS_BAR]); - stat_content[SI_STATUS_BAR] = - para_strdup("audiod not running!?\n"); + stat_content[SI_STATUS_BAR] = + para_strdup("audiod not running!?"); print_all_items(); - sleep(1); } check_return: switch (mode) { @@ -947,7 +938,7 @@ check_return: if (cp_numread <= 0 && !cbo) /* command complete */ return 0; if (cbo) - cbo = for_each_line(command_buf, cbo, &add_output_line, 0); + cbo = for_each_line(command_buf, cbo, &add_output_line); if (cp_numread <= 0) cbo = 0; wrefresh(bot.win);