summaryrefslogtreecommitdiff
path: root/listener.c
diff options
context:
space:
mode:
Diffstat (limited to 'listener.c')
-rw-r--r--listener.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/listener.c b/listener.c
index 7aa0b26..af6a915 100644
--- a/listener.c
+++ b/listener.c
@@ -70,7 +70,7 @@ int main(int argc, char *argv[], char *envp[])
freeaddrinfo(servinfo);
-
+ // receive loop
addr_len = sizeof their_addr;
while ((numbytes = recvfrom(sockfd, buf, MAXBUFLEN-1 , 0,
(struct sockaddr *)&their_addr, &addr_len)) != -1) {
@@ -86,7 +86,7 @@ int main(int argc, char *argv[], char *envp[])
switch (fork()) {
case 0:
- // TODO: clean file descriptors
+ close(sockfd); // close socket handler, leave std io
execve(task, cl_argv, envp);
perror("exec");
exit(-1);
@@ -99,7 +99,6 @@ int main(int argc, char *argv[], char *envp[])
}
perror("recvfrom");
- close(sockfd);
return -1;
}
contact: Jan Huwald // Impressum