diff options
author | Reyk Floeter <reyk@esdenera.com> | 2016-08-15 20:57:36 +0200 |
---|---|---|
committer | Reyk Floeter <reyk@esdenera.com> | 2016-08-15 20:57:36 +0200 |
commit | 8033504e79cf197d99ab20a6d89161a2f6a71a81 (patch) | |
tree | 534370b7a9418faf1c394a145e39ec7d0dd35104 /httpd/server_http.c | |
parent | f6babe9f2d05966903998909432e8b873b69192f (diff) | |
download | httpd-fcgi-persist.tar.gz httpd-fcgi-persist.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.c | 9 |
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; |