summaryrefslogtreecommitdiff
path: root/uhttpd-utils.c
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-07-06 17:29:25 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-07-06 17:29:25 +0000
commit6b3a770d363bf331306d93dfdf7feacbed0fbb86 (patch)
tree99d14d8e04121d94eb3ed86062d7c31248edcf68 /uhttpd-utils.c
parent0793612583f480c051c9b4c6521a225063c758ab (diff)
downloaduhttpd-6b3a770d363bf331306d93dfdf7feacbed0fbb86.tar.gz
[package] 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. git-svn-id: svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src@32640 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'uhttpd-utils.c')
-rw-r--r--uhttpd-utils.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/uhttpd-utils.c b/uhttpd-utils.c
index dec9523..d31f756 100644
--- a/uhttpd-utils.c
+++ b/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);