summaryrefslogtreecommitdiff
path: root/lib/TaskMan.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/TaskMan.cc')
-rw-r--r--lib/TaskMan.cc13
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
+ }
}
}