ensure the cgi postdata write pipe is closed for other processes
authorFelix Fietkau <nbd@openwrt.org>
Fri, 4 Jan 2013 02:15:00 +0000 (03:15 +0100)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 4 Jan 2013 02:15:00 +0000 (03:15 +0100)
proc.c

diff --git a/proc.c b/proc.c
index 097a719f8203dddacba84edc4298c792177cee25..ad15abb3bd177281445e47e3bff5f4d599ac1bab 100644 (file)
--- a/proc.c
+++ b/proc.c
@@ -168,7 +168,11 @@ struct env_var *uh_get_process_vars(struct client *cl, struct path_info *pi)
 
 static void proc_close_fds(struct client *cl)
 {
-       close(cl->dispatch.proc.r.sfd.fd.fd);
+       struct dispatch_proc *p = &cl->dispatch.proc;
+
+       close(p->r.sfd.fd.fd);
+       if (p->wrfd.fd >= 0)
+               close(p->wrfd.fd);
 }
 
 static void proc_handle_close(struct relay *r, int ret)