#include "daemon.h"
#include "string.h"
#include "ipc.h"
+#include "fd.h"
/** define the array of error lists needed by para_server */
INIT_SERVER_ERRLISTS;
int ret = 0;
signal_pipe = para_signal_init();
-// fcntl(signal_pipe, F_SETFL, O_NONBLOCK);
PARA_NOTICE_LOG("%s", "setting up signal handlers\n");
ret += para_install_sighandler(SIGINT);
ret += para_install_sighandler(SIGTERM);
/* listen on sock_fd, new connection on new_fd */
int sockfd, new_fd;
struct sockaddr_in their_addr;
- int err, i, max_fileno, ret;
+ int i, max_fileno, ret;
pid_t chld_pid;
fd_set rfds, wfds;
struct timeval *timeout;
max_fileno = MAX(max_fileno, ret);
}
mmd_unlock();
-// PARA_DEBUG_LOG("%s: select (max = %i)\n", __func__, max_fileno);
- ret = select(max_fileno + 1, &rfds, &wfds, NULL, timeout);
- err = errno;
- //PARA_DEBUG_LOG("%s: select returned %i\n", __func__, ret);
+ ret = para_select(max_fileno + 1, &rfds, &wfds, timeout);
mmd_lock();
if (mmd->selector_change >= 0)
change_selector();
if (selectors[mmd->selector_num].post_select)
selectors[mmd->selector_num].post_select(&rfds, &wfds);
- if (ret < 0 && err == EINTR)
- goto repeat;
- if (ret < 0) {
- PARA_CRIT_LOG("select error (%s)\n", strerror(err));
+ if (ret < 0)
goto repeat;
- }
for (i = 0; senders[i].name; i++) {
if (senders[i].status != SENDER_ON)
continue;