From 557f3329575cd6d1a2dd36fa8fb9cf0ac0b3f721 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 2 Oct 2013 21:42:24 -0400 Subject: Fix a bug in our bug 9776 fix. By calling circuit_n_chan_done() unconditionally on close, we were closing pending connections that might not have been pending quite for the connection we were closing. Fix for bug 9880. Thanks to skruffy for finding this and explaining it patiently until we understood. --- src/or/channel.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/or/channel.h') diff --git a/src/or/channel.h b/src/or/channel.h index 0933ec8d3..2dca81705 100644 --- a/src/or/channel.h +++ b/src/or/channel.h @@ -46,6 +46,9 @@ struct channel_s { /* Should we expect to see this channel in the channel lists? */ unsigned char registered:1; + /** has this channel ever been open? */ + unsigned int has_been_open:1; + /** Why did we close? */ enum { -- cgit v1.2.3