diff options
author | Nick Mathewson <nickm@torproject.org> | 2011-12-17 14:06:10 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-12-17 14:06:10 -0500 |
commit | e5e50d86ca4d4cf7ec3f78dbaa989fb4b6063f25 (patch) | |
tree | 1f38f7ec82c7b60b90f12aa0d8c15744c751495a | |
parent | 37504b5efae2e1423ec09eae6fc6d1e229987e3d (diff) | |
download | tor-e5e50d86ca4d4cf7ec3f78dbaa989fb4b6063f25.tar.gz tor-e5e50d86ca4d4cf7ec3f78dbaa989fb4b6063f25.zip |
Ignore all bufferevent events on a marked connection
Bug 4697; fix on 0.2.3.1-alpha
-rw-r--r-- | changes/bug4697 | 5 | ||||
-rw-r--r-- | src/or/connection.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/changes/bug4697 b/changes/bug4697 new file mode 100644 index 0000000000..c3c940d874 --- /dev/null +++ b/changes/bug4697 @@ -0,0 +1,5 @@ + o Minor bugfixes: + - Fix an assertion failure when, while running with bufferevents, a + connection finishes connecting after it is marked for close, but + before it is closed. Fix for bug 4697; Bugfix on 0.2.3.1-alpha. + diff --git a/src/or/connection.c b/src/or/connection.c index 28d8bca12a..9283c98589 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -2960,6 +2960,9 @@ connection_handle_event_cb(struct bufferevent *bufev, short event, void *arg) { connection_t *conn = arg; (void) bufev; + if (conn->marked_for_close) + return; + if (event & BEV_EVENT_CONNECTED) { tor_assert(connection_state_is_connecting(conn)); if (connection_finished_connecting(conn)<0) |