From 993cace15114a0f06f720f34a4748ab54b695f0d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 7 Sep 2015 21:18:26 +0200 Subject: [PATCH] file: fix processing POST data for deferred requests Fixes https://dev.openwrt.org/ticket/20458 Signed-off-by: Felix Fietkau --- file.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/file.c b/file.c index 480c40b..6072825 100644 --- a/file.c +++ b/file.c @@ -696,8 +696,11 @@ static void uh_complete_request(struct client *cl) dr = list_first_entry(&pending_requests, struct deferred_request, list); list_del(&dr->list); + cl = dr->cl; dr->called = true; - uh_invoke_script(dr->cl, dr->d, dr->path ? &dr->pi : NULL); + cl->dispatch.data_blocked = false; + uh_invoke_script(cl, dr->d, dr->path ? &dr->pi : NULL); + client_poll_post_data(cl); } } @@ -756,6 +759,7 @@ uh_defer_script(struct client *cl, struct dispatch_handler *d, struct path_info } cl->dispatch.req_data = dr; + cl->dispatch.data_blocked = true; dr->cl = cl; dr->d = d; list_add(&dr->list, &pending_requests); -- 2.11.0