aboutsummaryrefslogtreecommitdiff
path: root/httpd/server_http.c
diff options
context:
space:
mode:
authorReyk Floeter <reyk@esdenera.com>2016-08-15 20:57:36 +0200
committerReyk Floeter <reyk@esdenera.com>2016-08-15 20:57:36 +0200
commit8033504e79cf197d99ab20a6d89161a2f6a71a81 (patch)
tree534370b7a9418faf1c394a145e39ec7d0dd35104 /httpd/server_http.c
parentf6babe9f2d05966903998909432e8b873b69192f (diff)
downloadhttpd-8033504e79cf197d99ab20a6d89161a2f6a71a81.tar.gz
httpd-8033504e79cf197d99ab20a6d89161a2f6a71a81.zip
If you see any problem connecting to httpd fastcgi, stalledfcgi-persist
connections, please have a look at the log files for: "server_response: request %d in %s not finished" where %d is the request number in a persistent connection and %s is either server_file or server_fcgi. The server_fcgi.c code also includes "//"-commented code for two possible solutions: either reset after each FCGI_END_REQUEST or after finishing the end request or any possible padding.
Diffstat (limited to 'httpd/server_http.c')
-rw-r--r--httpd/server_http.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/httpd/server_http.c b/httpd/server_http.c
index b69805a..4ea20ab 100644
--- a/httpd/server_http.c
+++ b/httpd/server_http.c
@@ -615,10 +615,13 @@ server_read_httpchunks(struct bufferevent *bev, void *arg)
}
void
-server_reset_http(struct client *clt)
+server_reset_http(struct client *clt, const char *from)
{
struct server *srv = clt->clt_srv;
+ log_debug("%s: called from %s", __func__, from);
+ clt->clt_persist_running = NULL;
+
server_log(clt, NULL);
server_httpdesc_free(clt->clt_descreq);
@@ -1092,6 +1095,10 @@ server_response(struct httpd *httpd, struct client *clt)
clt->clt_persist = 0;
}
+ if (clt->clt_persist_running)
+ log_warnx("%s: request %d in %s not finished",
+ __func__, clt->clt_persist, clt->clt_persist_running);
+
if (clt->clt_persist >= srv_conf->maxrequests)
clt->clt_persist = 0;