From e98583594d897ac32745061143e565c6f4b45f97 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 21 Apr 2011 13:39:00 -0400 Subject: Fix a bug in removing DNSPort requests from their circular list Under heavy load, this could result in an assertion failure. Fix for bug 2933; bugfix on 0.2.0.10-alpha. --- changes/bug2933 | 4 ++++ src/or/eventdns.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 changes/bug2933 diff --git a/changes/bug2933 b/changes/bug2933 new file mode 100644 index 0000000000..7aaf526112 --- /dev/null +++ b/changes/bug2933 @@ -0,0 +1,4 @@ + o Minor bugfixes + - Fix an uncommon assertion failure when running with DNSPort under + heavy load. Fixes bug 2933; bugfix on 2.0.1-alpha. + diff --git a/src/or/eventdns.c b/src/or/eventdns.c index a889e803ed..2777f90989 100644 --- a/src/or/eventdns.c +++ b/src/or/eventdns.c @@ -1949,7 +1949,7 @@ server_request_free(struct server_request *req) if (req->port) { if (req->port->pending_replies == req) { - if (req->next_pending) + if (req->next_pending && req->next_pending != req) req->port->pending_replies = req->next_pending; else req->port->pending_replies = NULL; -- cgit v1.2.3-54-g00ecf