summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2004-09-29 05:59:55 +0000
committerRoger Dingledine <arma@torproject.org>2004-09-29 05:59:55 +0000
commit6ed095b17769c56d8bd5c92d080e2a839c04b9e5 (patch)
treed4fbdbe0932eb975320ca435b1c8a7d84d2a10ce
parent1c47de319ea7cfba09c65ee3e44b7b2ff562c808 (diff)
downloadtor-6ed095b17769c56d8bd5c92d080e2a839c04b9e5.tar.gz
tor-6ed095b17769c56d8bd5c92d080e2a839c04b9e5.zip
print the IP if a conn fails badly, to see if there are any trends
svn:r2400
-rw-r--r--src/or/main.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/or/main.c b/src/or/main.c
index bea5dbe1f4..87924da0ea 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -297,6 +297,7 @@ static void conn_write(int i) {
static void conn_close_if_marked(int i) {
connection_t *conn;
int retval;
+ struct in_addr in;
conn = connection_array[i];
assert_connection_ok(conn, time(NULL));
@@ -308,11 +309,12 @@ static void conn_close_if_marked(int i) {
if(conn->s >= 0 && connection_wants_to_flush(conn)) {
/* -1 means it's an incomplete edge connection, or that the socket
* has already been closed as unflushable. */
+ in.s_addr = htonl(conn->addr);
if(!conn->hold_open_until_flushed)
- log_fn(LOG_WARN,
- "Conn (fd %d, type %s, state %d) marked, but wants to flush %d bytes. "
+ log_fn(LOG_INFO,
+ "Conn (addr %s, fd %d, type %s, state %d) marked, but wants to flush %d bytes. "
"(Marked at %s:%d)",
- conn->s, CONN_TYPE_TO_STRING(conn->type), conn->state,
+ inet_ntoa(in), conn->s, CONN_TYPE_TO_STRING(conn->type), conn->state,
conn->outbuf_flushlen, conn->marked_for_close_file, conn->marked_for_close);
if(connection_speaks_cells(conn)) {
if(conn->state == OR_CONN_STATE_OPEN) {
@@ -329,8 +331,8 @@ static void conn_close_if_marked(int i) {
return;
}
if(connection_wants_to_flush(conn)) {
- log_fn(LOG_WARN,"Conn (fd %d, type %s, state %d) still wants to flush. Losing %d bytes! (Marked at %s:%d)",
- conn->s, CONN_TYPE_TO_STRING(conn->type), conn->state,
+ log_fn(LOG_WARN,"Conn (addr %s, fd %d, type %s, state %d) still wants to flush. Losing %d bytes! (Marked at %s:%d)",
+ inet_ntoa(in), conn->s, CONN_TYPE_TO_STRING(conn->type), conn->state,
(int)buf_datalen(conn->outbuf), conn->marked_for_close_file,
conn->marked_for_close);
}