Le Mon, Jun 28, 2010 at 07:21:21PM +0800, Zhu Han ecrivait :
> I observed the same problem in my environment. I took some time to trace the
> cause. Seems like it's really a bug. Does anybody help me verify it and
> give a possible fix?
This fixes it for me, although it's probably not the right way to fix this :
diff -ur /tmp/a/http.c /tmp/b/http.c
--- /tmp/a/http.c 2010-06-28 13:29:03.000000000 +0200
+++ /tmp/b/http.c 2010-06-13 11:41:49.000000000 +0200
@@ -557,7 +557,9 @@
*/
if (!req->userdone) {
/* remove it so that it will not be freed */
- TAILQ_REMOVE(&req->evcon->requests, req, next);
+ if (req->evcon->http_server == NULL) {
+ TAILQ_REMOVE(&req->evcon->requests, req, next);
+ }
/* indicate that this request no longer has a
* connection object
*/
--
Frank Denis - j [at] pureftpd.org - http://00f.net
_______________________________________________
Libevent-users mailing list
[email protected]
http://lists.monkey.org:8080/listinfo/libevent-users