diff options
Diffstat (limited to 'lib/TaskMan.cc')
-rw-r--r-- | lib/TaskMan.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/TaskMan.cc b/lib/TaskMan.cc index 94e89b1..89f27f8 100644 --- a/lib/TaskMan.cc +++ b/lib/TaskMan.cc @@ -233,18 +233,18 @@ void TaskMan::MainLoop() throw (GeneralException) { r = select(highest + 1, &readfds, &writefds, &exceptfds, NULL); #endif if (r < 0) { - if (errno == EINTR) { - // child - } else { + if (errno != EINTR) { throw GeneralException(String(_("Error during poll: ")) + strerror(errno)); } } else if (r == 0) { // timeout... + // **FIXME** +#warning FIXME } else { int fd; #ifdef USE_POLL struct pollfd * q; - int i; + unsigned int i; for (q = ufsd, i = 0; i < nfds; i++, q++) { if (q->revents & POLLNVAL) { throw GeneralException(String(_("Error with poll, handle ")) + q->fd + _(" invalid.")); @@ -338,5 +338,10 @@ void TaskMan::MainLoop() throw (GeneralException) { Zombies.erase(Zombies.begin()); } } + + if (got_sigchild) { + // **FIXME** +#warning FIXME + } } } |