diff options
author | Tobias Markmann <tm@ayena.de> | 2016-02-25 09:57:59 (GMT) |
---|---|---|
committer | Kevin Smith <kevin.smith@isode.com> | 2016-02-29 16:54:02 (GMT) |
commit | 7eec2000d72f8fa597398704121d0b73a84ca284 (patch) | |
tree | fd245ceb2b93f5953b386d083e2973fd1e7910ac /Swiften/Network/SOCKS5ProxiedConnectionFactory.cpp | |
parent | c2b80af83f9ac19fefc21493c5a21ca232662ee2 (diff) | |
download | swift-7eec2000d72f8fa597398704121d0b73a84ca284.zip swift-7eec2000d72f8fa597398704121d0b73a84ca284.tar.bz2 |
Fix possible race condition between Connection and Connectors
The issue occurs with ProxiedConnection that started
connecting but do not have an external reference anymore.
As soon as the handlers of the ProxiedConnection are
disconnected from the signals of the connection_ object,
the remaining references to a shared ProxiedConnection
vanish and the ProxiedConnection is deleted, while it still
requires access to its members in
ProxiedConnection::handleConnectFinished().
Test-Information:
All tests pass on OS X 10.11.3. No TSAN reports on Debian 8
in a scenario with randomly connecting/disconnecting Client
instances that use a HTTP proxy.
Change-Id: I4d6d2c85013e066d9ed298aa9b913afc83949e35
Diffstat (limited to 'Swiften/Network/SOCKS5ProxiedConnectionFactory.cpp')
0 files changed, 0 insertions, 0 deletions