From 3a572fcffa4609a76e0d21c1e73f578287e7afc8 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Fri, 24 Dec 2004 09:43:57 +0000 Subject: 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. svn:r3223 --- src/or/connection_edge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 4a5552da69..0c7acca3ab 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -40,10 +40,10 @@ int connection_edge_reached_eof(connection_t *conn) { 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 */ -- cgit v1.2.3-54-g00ecf