aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2015-12-28 14:36:44 -0500
committerFranklin Wei <git@fwei.tk>2015-12-28 14:36:44 -0500
commit22f5eaa809a8daac6ce8bf421b89290f7258b42e (patch)
tree134b59c376439e7a136ffe2f1b24eea338c73119 /src
parentf0c4753ddb8fa32f7aa0e246f4205f608972c358 (diff)
downloadnetcosm-22f5eaa809a8daac6ce8bf421b89290f7258b42e.zip
netcosm-22f5eaa809a8daac6ce8bf421b89290f7258b42e.tar.gz
netcosm-22f5eaa809a8daac6ce8bf421b89290f7258b42e.tar.bz2
netcosm-22f5eaa809a8daac6ce8bf421b89290f7258b42e.tar.xz
fix an annoying bug
Diffstat (limited to 'src')
-rw-r--r--src/server.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server.c b/src/server.c
index 8ea4516..3f4e9cc 100644
--- a/src/server.c
+++ b/src/server.c
@@ -335,9 +335,11 @@ static bool handle_child_req(int in_fd)
if(read(in_fd, &sender_pid, sizeof(sender_pid)) != sizeof(sender_pid))
{
sig_debugf("Couldn't get sender PID\n");
- goto fail;
+ return false;
}
+ sig_debugf("Got request from PID %d\n", sender_pid);
+
size_t msglen;
const struct child_request *req = NULL;
size_t datalen;
@@ -702,7 +704,8 @@ int main(int argc, char *argv[])
else
{
/* data from a child's pipe */
- handle_child_req(i);
+ if(!handle_child_req(i))
+ FD_CLR(i, &active_fds);
}
}
}