[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] Add an extra flush attempt when closing wedged dir conns, i...
- To: or-cvs@freehaven.net
- Subject: [or-cvs] Add an extra flush attempt when closing wedged dir conns, i...
- From: nickm@seul.org (Nick Mathewson)
- Date: Mon, 10 May 2004 21:55:34 -0400 (EDT)
- Delivered-to: archiver@seul.org
- Delivered-to: or-cvs-outgoing@seul.org
- Delivered-to: or-cvs@seul.org
- Delivery-date: Mon, 10 May 2004 21:55:54 -0400
- Reply-to: or-dev@freehaven.net
- Sender: owner-or-cvs@freehaven.net
Update of /home/or/cvsroot/src/or
In directory moria.mit.edu:/tmp/cvs-serv4927/src/or
Modified Files:
main.c
Log Message:
Add an extra flush attempt when closing wedged dir conns, in an attempt to isolate the EPIPE bug
Index: main.c
===================================================================
RCS file: /home/or/cvsroot/src/or/main.c,v
retrieving revision 1.262
retrieving revision 1.263
diff -u -d -r1.262 -r1.263
--- main.c 10 May 2004 10:27:54 -0000 1.262
+++ main.c 11 May 2004 01:55:32 -0000 1.263
@@ -352,6 +352,11 @@
!conn->marked_for_close &&
conn->timestamp_lastwritten + 5*60 < now) {
log_fn(LOG_WARN,"Expiring wedged directory conn (purpose %d)", conn->purpose);
+ /* XXXX This next check may help isolate where the pesky EPIPE bug
+ * really occurs. */
+ if (connection_wants_to_flush(conn)) {
+ flush_buf(conn->s, conn->outbuf, &conn->outbuf_flushlen);
+ }
connection_mark_for_close(conn,0);
/* XXXX Does this next part make sense, really? */
conn->hold_open_until_flushed = 1; /* give it a last chance */