simon-git: putty (master): Simon Tatham
Commits to Tartarus hosted VCS
tartarus-commits at lists.tartarus.org
Wed Feb 15 19:32:38 GMT 2017
TL;DR:
2fb3e26 Fix multiple bugs in freeze/thaw of Windows handle-sockets.
Repository: https://git.tartarus.org/simon/putty.git
On the web: https://git.tartarus.org/?p=simon/putty.git
Branch updated: master
Committer: Simon Tatham <anakin at pobox.com>
Date: 2017-02-15 19:32:38
commit 2fb3e26584315e1d962226de40686c4cd7530bb7
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=2fb3e26584315e1d962226de40686c4cd7530bb7;hp=24c9cfc800c5e81819d80fd3eda953f950e263d6
Author: Simon Tatham <anakin at pobox.com>
Date: Wed Feb 15 19:19:38 2017 +0000
Fix multiple bugs in freeze/thaw of Windows handle-sockets.
Firstly, I had asserted that data would never arrive on a handle
socket in state FREEZING, which is just an error, because FREEZING is
precisely the state of not being quite frozen _yet_ because one last
read is still expected to arrive from the winhandl.c reading subthread
which it's too late to cancel. I meant to assert that it wasn't
FROZEN.
Secondly, when the handle socket was in state FREEZING, I failed to
actually _set_ it to FROZEN.
And thirdly, when the handle socket starts thawing again (i.e. there's
now outgoing buffer space so we can start sending our backlogged
data), I forgot to ever call bufchain_consume, so that the same block
of data would get sent repeatedly.
I can only assume that nothing I've ever done has actually exercised
this code!
windows/winhsock.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
More information about the tartarus-commits
mailing list