summaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-03-18 19:00:12 +0000
committerNick Mathewson <nickm@torproject.org>2008-03-18 19:00:12 +0000
commite96d22e914e8b7a81cc472579df9fdb92ab48bb2 (patch)
tree6f5dc0e7de36e9081f0d2d45b2c3f400b1b76fab /src/or
parenta62a24036ddb7449cd19f7c26de457779d30fdd1 (diff)
downloadtor-e96d22e914e8b7a81cc472579df9fdb92ab48bb2.tar.gz
tor-e96d22e914e8b7a81cc472579df9fdb92ab48bb2.zip
r18941@catbus: nickm | 2008-03-18 14:59:43 -0400
Likely fix for bug 632: do not call start_reading on a placeholder connection. svn:r14109
Diffstat (limited to 'src/or')
-rw-r--r--src/or/relay.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/or/relay.c b/src/or/relay.c
index 0d863cd972..db7d1a3d77 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -1813,6 +1813,12 @@ set_streams_blocked_on_circ(circuit_t *circ, or_connection_t *orconn,
connection_t *conn = TO_CONN(edge);
conn->edge_blocked_on_circ = block;
+ if (!conn->read_event) {
+ /* This connection is a placeholder for something; probably a DNS
+ * request. It can't actually stop or start reading.*/
+ continue;
+ }
+
if (block) {
if (connection_is_reading(conn))
connection_stop_reading(conn);