aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/or/connection.c5
-rw-r--r--src/or/connection_ap.c3
2 files changed, 4 insertions, 4 deletions
diff --git a/src/or/connection.c b/src/or/connection.c
index 243fd60a5..8b86d253b 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -635,8 +635,9 @@ int connection_consider_sending_sendme(connection_t *conn) {
circ = circuit_get_by_conn(conn);
if(!circ) {
- log(LOG_DEBUG,"connection_consider_sending_sendme(): Bug: no circuit associated with conn. Closing.");
- return -1;
+ /* this can legitimately happen if the destroy has already arrived and torn down the circuit */
+ log(LOG_DEBUG,"connection_consider_sending_sendme(): No circuit associated with conn. Skipping.");
+ return 0;
}
sendme.command = CELL_SENDME;
sendme.length = RECEIVE_WINDOW_INCREMENT;
diff --git a/src/or/connection_ap.c b/src/or/connection_ap.c
index 9d96ae85b..3080fe822 100644
--- a/src/or/connection_ap.c
+++ b/src/or/connection_ap.c
@@ -365,8 +365,7 @@ int connection_ap_finished_flushing(connection_t *conn) {
case AP_CONN_STATE_OPEN:
/* FIXME down the road, we'll clear out circuits that are pending to close */
connection_stop_writing(conn);
- connection_consider_sending_sendme(conn);
- return 0;
+ return connection_consider_sending_sendme(conn);
default:
log(LOG_DEBUG,"Bug: connection_ap_finished_flushing() called in unexpected state.");
return 0;