[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r9514: Fix patch for 9510: never call control_event_stream_status o (in tor/trunk: . src/or)
- To: or-cvs@xxxxxxxxxxxxx
- Subject: [or-cvs] r9514: Fix patch for 9510: never call control_event_stream_status o (in tor/trunk: . src/or)
- From: nickm@xxxxxxxx
- Date: Wed, 7 Feb 2007 13:25:09 -0500 (EST)
- Delivered-to: archiver@seul.org
- Delivered-to: or-cvs-outgoing@seul.org
- Delivered-to: or-cvs@seul.org
- Delivery-date: Wed, 07 Feb 2007 13:25:20 -0500
- Reply-to: or-talk@xxxxxxxxxxxxx
- Sender: owner-or-cvs@xxxxxxxxxxxxx
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@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;
}