From 7fdc374dfb41f7ba4da29aa690eb49681b64e80d Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Sun, 24 Nov 2002 08:33:15 +0000 Subject: [PATCH] fixed rare race condition svn:r138 --- trunk/src/or/connection_exit.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/trunk/src/or/connection_exit.c b/trunk/src/or/connection_exit.c index cc3e5ffc99..aa94e6a9ea 100644 --- a/trunk/src/or/connection_exit.c +++ b/trunk/src/or/connection_exit.c @@ -76,7 +76,10 @@ int connection_exit_send_connected(connection_t *conn) { circ = circuit_get_by_conn(conn); - assert(circ && circ->p_conn && circ->n_conn == conn); /* is this true? i guess i'll see if it breaks. */ + if(!circ) { + log(LOG_DEBUG,"connection_exit_send_connected(): client-side sent destroy just as we completed server connection. Closing."); + return -1; + } return connection_send_connected(circ->p_aci, circ->p_conn); }