diff options
Diffstat (limited to 'src/or/circuit.c')
-rw-r--r-- | src/or/circuit.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/or/circuit.c b/src/or/circuit.c index 7c363ddd2..ad94f13c3 100644 --- a/src/or/circuit.c +++ b/src/or/circuit.c @@ -857,9 +857,10 @@ int circuit_extend(cell_t *cell, circuit_t *circ) { */ struct in_addr in; in.s_addr = htonl(circ->n_addr); - log_fn(LOG_WARN,"Next router (%s:%d) not connected. Closing.", inet_ntoa(in), circ->n_port); - /* XXX later we should fail more gracefully here, like with a 'truncated' */ - return -1; + log_fn(LOG_INFO,"Next router (%s:%d) not connected. Closing.", inet_ntoa(in), circ->n_port); + connection_edge_send_command(NULL, circ, RELAY_COMMAND_TRUNCATED, + NULL, 0, NULL); + return 0; } circ->n_addr = n_conn->addr; /* these are different if we found a twin instead */ |