summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2016-02-25 09:57:59 (GMT)
committerKevin Smith <kevin.smith@isode.com>2016-02-29 16:54:02 (GMT)
commit7eec2000d72f8fa597398704121d0b73a84ca284 (patch)
treefd245ceb2b93f5953b386d083e2973fd1e7910ac /Sluift/Watchdog.h
parentc2b80af83f9ac19fefc21493c5a21ca232662ee2 (diff)
downloadswift-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 'Sluift/Watchdog.h')
0 files changed, 0 insertions, 0 deletions