aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2013-06-10 12:25:14 -0400
committerNick Mathewson <nickm@torproject.org>2013-06-10 12:25:14 -0400
commit4835faebf533f93eb390649dfcb5c8cc0289e3d3 (patch)
tree1c9015699a7b2baf84b3cad7cde902a2d69fba38 /src
parentfe689de084116bd54eb3f90baba4620eef5d1001 (diff)
parent77a193533966c5c2f81e6a85b3c2a7446076508f (diff)
downloadtor-4835faebf533f93eb390649dfcb5c8cc0289e3d3.tar
tor-4835faebf533f93eb390649dfcb5c8cc0289e3d3.tar.gz
Merge branch 'bug9017' into maint-0.2.3
Diffstat (limited to 'src')
-rw-r--r--src/or/connection_edge.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 9563ca622..362ad9af9 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -3302,12 +3302,13 @@ connection_exit_connect(edge_connection_t *edge_conn)
conn->state = EXIT_CONN_STATE_OPEN;
if (connection_get_outbuf_len(conn)) {
- /* in case there are any queued data cells */
- log_warn(LD_BUG,"newly connected conn had data waiting!");
-// connection_start_writing(conn);
+ /* in case there are any queued data cells, from e.g. optimistic data */
+ IF_HAS_NO_BUFFEREVENT(conn)
+ connection_watch_events(conn, READ_EVENT|WRITE_EVENT);
+ } else {
+ IF_HAS_NO_BUFFEREVENT(conn)
+ connection_watch_events(conn, READ_EVENT);
}
- IF_HAS_NO_BUFFEREVENT(conn)
- connection_watch_events(conn, READ_EVENT);
/* also, deliver a 'connected' cell back through the circuit. */
if (connection_edge_is_rendezvous_stream(edge_conn)) {