diff options
author | Kevin Smith <git@kismith.co.uk> | 2018-01-09 11:48:37 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2018-01-09 11:48:37 (GMT) |
commit | 8e7a05d1501b7c77bcf908517b57b60563a0f2ae (patch) | |
tree | ecd1579ad365081971ee4337eb8a2faece6b8038 /Swiften/Disco/DiscoServiceWalker.h | |
parent | f978788a2c8844a24d2481c4d70b1bb5a152d1fb (diff) | |
download | swift-8e7a05d1501b7c77bcf908517b57b60563a0f2ae.zip swift-8e7a05d1501b7c77bcf908517b57b60563a0f2ae.tar.bz2 |
Avoid crash with Connector failure race condition
We were seeing crashes on macOS on a slept laptop overnight, very rarely.
The backtraces pointed to accessing a deleted currentConnection in
Connector. Eyeballing the code for a path that could trigger this,
if the timer fires onTick, queing on the eventloop, and before that event
is processed the connection queues onConnectFinished in the event loop,
currentConnection will be reset by the timeout tick handling, and will
then boom when the handleConnectionConnectFinished is called for
onConnectFinished.
Test-Information:
Eyeballs
Change-Id: Iaf4af1450ca8ee13761a33c0dc75f0311d2291b2
Diffstat (limited to 'Swiften/Disco/DiscoServiceWalker.h')
0 files changed, 0 insertions, 0 deletions