new function: set_stream_fds()
[paraslash.git] / gui.c
diff --git a/gui.c b/gui.c
index f63e99bd2c2e3363351f37a0b1b6afe591dd7ca5..232572914bd9b7ca83038a334a7cff1b3ce2fdaf 100644 (file)
--- a/gui.c
+++ b/gui.c
 #include "ringbuffer.h"
 #include "string.h"
 #include "fd.h"
 #include "ringbuffer.h"
 #include "string.h"
 #include "fd.h"
+#include "error.h"
 
 
+/** define the array of error lists needed by para_gui */
+INIT_GUI_ERRLISTS;
 extern const char *status_item_list[NUM_STAT_ITEMS];
 static char *stat_content[NUM_STAT_ITEMS];
 
 extern const char *status_item_list[NUM_STAT_ITEMS];
 static char *stat_content[NUM_STAT_ITEMS];
 
@@ -898,17 +901,16 @@ repeat:
        }
        if (curses_active)
                FD_SET(STDIN_FILENO, &rfds);
        }
        if (curses_active)
                FD_SET(STDIN_FILENO, &rfds);
-       ret = select(max_fileno + 1, &rfds, NULL, NULL, &tv);
+       ret = para_select(max_fileno + 1, &rfds, NULL, &tv);
 //     PARA_DEBUG_LOG("select returned %d\n", ret);
 //     PARA_DEBUG_LOG("select returned %d\n", ret);
-
+       if (ret <= 0)
+               goto check_return; /* skip fd checks */
        /* signals */
        if (FD_ISSET(signal_pipe, &rfds)) {
                int sig_nr = para_next_signal();
                if (sig_nr > 0)
                        handle_signal(sig_nr);
        }
        /* signals */
        if (FD_ISSET(signal_pipe, &rfds)) {
                int sig_nr = para_next_signal();
                if (sig_nr > 0)
                        handle_signal(sig_nr);
        }
-       if (ret <= 0)
-               goto check_return; /* skip fd checks */
        /* read command pipe if ready */
        if (command_pipe >= 0 && mode == COMMAND_MODE &&
                        FD_ISSET(command_pipe, &rfds)) {
        /* read command pipe if ready */
        if (command_pipe >= 0 && mode == COMMAND_MODE &&
                        FD_ISSET(command_pipe, &rfds)) {