diff options
author | Nick Mathewson <nickm@torproject.org> | 2013-10-02 21:42:24 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2013-10-02 22:20:18 -0400 |
commit | 557f3329575cd6d1a2dd36fa8fb9cf0ac0b3f721 (patch) | |
tree | 1d45f04713d62a5ee1c9aae2fb4c8ae1bda0f728 /src/or/channel.h | |
parent | 938ee9b24dfda03a68a71d43b88e9fb00a90f9c8 (diff) | |
download | tor-557f3329575cd6d1a2dd36fa8fb9cf0ac0b3f721.tar.gz tor-557f3329575cd6d1a2dd36fa8fb9cf0ac0b3f721.zip |
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.
Diffstat (limited to 'src/or/channel.h')
-rw-r--r-- | src/or/channel.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/or/channel.h b/src/or/channel.h index 0933ec8d39..2dca81705f 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 { |