aboutsummaryrefslogtreecommitdiffstats
path: root/package/uhttpd/src/uhttpd-utils.c
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2012-07-06 17:29:25 +0000
committerJo-Philipp Wich <jow@openwrt.org>2012-07-06 17:29:25 +0000
commit1f2d5da8876fd4475b47093bb566d2eecb87de13 (patch)
tree23791d42fdc6bc4930f598247af965b12d42bf05 /package/uhttpd/src/uhttpd-utils.c
parentfe015f399fb6f8ff45b5863f41b8d33f64dfc1bd (diff)
downloadupstream-1f2d5da8876fd4475b47093bb566d2eecb87de13.tar.gz
upstream-1f2d5da8876fd4475b47093bb566d2eecb87de13.tar.bz2
upstream-1f2d5da8876fd4475b47093bb566d2eecb87de13.zip
uhttpd: do not subscribe to epoll write events Watch child read pipe end for data instead of relying on socket write notification to process cgi data, should lower cpu consumption during requests on weaker devices.
SVN-Revision: 32640
Diffstat (limited to 'package/uhttpd/src/uhttpd-utils.c')
-rw-r--r--package/uhttpd/src/uhttpd-utils.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/package/uhttpd/src/uhttpd-utils.c b/package/uhttpd/src/uhttpd-utils.c
index dec952357e..d31f756d14 100644
--- a/package/uhttpd/src/uhttpd-utils.c
+++ b/package/uhttpd/src/uhttpd-utils.c
@@ -996,6 +996,9 @@ void uh_client_remove(struct client *cl)
if (cur->proc.pid)
uloop_process_delete(&cur->proc);
+ if (cur->pipe.fd)
+ uloop_fd_delete(&cur->pipe);
+
uloop_fd_delete(&cur->fd);
close(cur->fd.fd);