don't call circuit_n_conn_done() if the closing conn is already open.

svn:r6214
This commit is contained in:
Roger Dingledine 2006-03-21 22:22:48 +00:00
parent a3329036a8
commit 8a8a84dd52

View File

@ -524,8 +524,11 @@ circuit_about_to_close_connection(connection_t *conn)
*/
switch (conn->type) {
case CONN_TYPE_OR: {
/* Inform any pending (not attached) circs that they should give up. */
circuit_n_conn_done(conn, 0);
if (connection_state_is_open(conn)) {
/* Inform any pending (not attached) circs that they should
* give up. */
circuit_n_conn_done(conn, 0);
}
/* Now close all the attached circuits on it. */
circuit_unlink_all_from_or_conn(conn, END_CIRC_REASON_OR_CONN_CLOSED);
return;