[or-cvs] don"t connection_edge_end() on eof if we"re already marked ...
Roger Dingledine
arma at seul.org
Fri Dec 24 09:44:00 UTC 2004
Update of /home2/or/cvsroot/tor/src/or
In directory moria.mit.edu:/home2/arma/work/onion/cvs/tor/src/or
Modified Files:
connection_edge.c
Log Message:
don't connection_edge_end() on eof if we're already marked for close,
because if we are then it's because we already got an end.
Index: connection_edge.c
===================================================================
RCS file: /home2/or/cvsroot/tor/src/or/connection_edge.c,v
retrieving revision 1.264
retrieving revision 1.265
diff -u -d -r1.264 -r1.265
--- connection_edge.c 13 Dec 2004 00:44:38 -0000 1.264
+++ connection_edge.c 24 Dec 2004 09:43:57 -0000 1.265
@@ -40,10 +40,10 @@
return 0;
}
log_fn(LOG_INFO,"conn (fd %d) reached eof (stream size %d). Closing.", conn->s, (int)conn->stream_size);
- connection_edge_end(conn, END_STREAM_REASON_DONE, conn->cpath_layer);
if (!conn->marked_for_close) {
/* only mark it if not already marked. it's possible to
* get the 'end' right around when the client hangs up on us. */
+ connection_edge_end(conn, END_STREAM_REASON_DONE, conn->cpath_layer);
connection_mark_for_close(conn);
conn->hold_open_until_flushed = 1; /* just because we shouldn't read
doesn't mean we shouldn't write */
More information about the tor-commits
mailing list