commit 368dc1003eeb58ad11e1eb13904ef7f79ef019d1
parent 4ef70ff389917f99cbee054bba78872b0b91a556
Author: Nick Mathewson <nickm@torproject.org>
Date: Fri, 17 Nov 2017 08:35:56 -0500
Merge branch 'maint-0.3.2'
Diffstat:
2 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/changes/bug24167 b/changes/bug24167
@@ -0,0 +1,7 @@
+ o Minor bugfixes (network layer):
+ - When closing a connection via close_connection_immediately(), we
+ mark it as "not blocked on bandwidth", to prevent later calls
+ from trying to unblock it, and give it permission to read. This
+ fixes a backtrace warning that can happen on relays under various
+ circumstances. Fixes bug 24167; bugfix on 0.1.0.1-rc.
+
diff --git a/src/or/connection.c b/src/or/connection.c
@@ -768,6 +768,10 @@ connection_close_immediate(connection_t *conn)
connection_unregister_events(conn);
+ /* Prevent the event from getting unblocked. */
+ conn->read_blocked_on_bw =
+ conn->write_blocked_on_bw = 0;
+
if (SOCKET_OK(conn->s))
tor_close_socket(conn->s);
conn->s = TOR_INVALID_SOCKET;