[or-cvs] r9514: Fix patch for 9510: never call control_event_stream_status o (in tor/trunk: . src/or)
nickm at seul.org
nickm at seul.org
Wed Feb 7 18:25:09 UTC 2007
Author: nickm
Date: 2007-02-07 13:25:04 -0500 (Wed, 07 Feb 2007)
New Revision: 9514
Modified:
tor/trunk/
tor/trunk/src/or/circuitlist.c
tor/trunk/src/or/connection_edge.c
Log:
r11694 at catbus: nickm | 2007-02-07 13:25:01 -0500
Fix patch for 9510: never call control_event_stream_status on an exit connection. Should fix assert() noticed by xiando.
Property changes on: tor/trunk
___________________________________________________________________
svk:merge ticket from /tor/trunk [r11694] on 8246c3cf-6607-4228-993b-4d95d33730f1
Modified: tor/trunk/src/or/circuitlist.c
===================================================================
--- tor/trunk/src/or/circuitlist.c 2007-02-07 06:54:37 UTC (rev 9513)
+++ tor/trunk/src/or/circuitlist.c 2007-02-07 18:25:04 UTC (rev 9514)
@@ -948,14 +948,12 @@
conn = or_circ->resolving_streams;
or_circ->resolving_streams = conn->next_stream;
if (!conn->_base.marked_for_close) {
- /* The other side will see a DESTROY, and infer that the connections
+ /* The client will see a DESTROY, and infer that the connections
* are closing because the circuit is getting torn down. No need
* to send an end cell. */
conn->_base.edge_has_sent_end = 1;
conn->end_reason = END_STREAM_REASON_DESTROY;
conn->end_reason |= END_STREAM_REASON_FLAG_ALREADY_SENT_CLOSED;
- control_event_stream_status(conn, STREAM_EVENT_CLOSED,
- END_STREAM_REASON_DESTROY);
connection_mark_for_close(TO_CONN(conn));
}
conn->on_circuit = NULL;
Modified: tor/trunk/src/or/connection_edge.c
===================================================================
--- tor/trunk/src/or/connection_edge.c 2007-02-07 06:54:37 UTC (rev 9513)
+++ tor/trunk/src/or/connection_edge.c 2007-02-07 18:25:04 UTC (rev 9514)
@@ -159,8 +159,9 @@
conn->_base.edge_has_sent_end = 1;
conn->end_reason = END_STREAM_REASON_DESTROY;
conn->end_reason |= END_STREAM_REASON_FLAG_ALREADY_SENT_CLOSED;
- control_event_stream_status(conn, STREAM_EVENT_CLOSED,
- END_STREAM_REASON_DESTROY);
+ if (conn->_base.type == CONN_TYPE_AP)
+ control_event_stream_status(conn, STREAM_EVENT_CLOSED,
+ END_STREAM_REASON_DESTROY);
connection_mark_for_close(TO_CONN(conn));
conn->_base.hold_open_until_flushed = 1;
}
More information about the tor-commits
mailing list