#include <curses.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];
/* audiod pipe */
if (audiod_pipe < 0)
audiod_pipe = open_audiod_pipe();
- if (audiod_pipe >= 0) {
- FD_SET(audiod_pipe, &rfds);
- max_fileno = MAX(max_fileno, audiod_pipe);
- }
-
+ if (audiod_pipe >= 0)
+ para_fd_set(audiod_pipe, &rfds, &max_fileno);
/* signal pipe */
- FD_SET(signal_pipe, &rfds);
- max_fileno = MAX(max_fileno, signal_pipe);
+ para_fd_set(signal_pipe, &rfds, &max_fileno);
/* command pipe only for COMMAND_MODE */
- if (command_pipe >= 0 && mode == COMMAND_MODE) {
- FD_SET(command_pipe, &rfds);
- max_fileno = MAX(max_fileno, command_pipe);
- }
+ if (command_pipe >= 0 && mode == COMMAND_MODE)
+ para_fd_set(command_pipe, &rfds, &max_fileno);
if (curses_active)
- FD_SET(STDIN_FILENO, &rfds);
- ret = select(max_fileno + 1, &rfds, NULL, NULL, &tv);
+ para_fd_set(STDIN_FILENO, &rfds, &max_fileno);
+ ret = para_select(max_fileno + 1, &rfds, NULL, &tv);
// 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);
}
- 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)) {