simon-git: putty (master): Simon Tatham
Commits to Tartarus hosted VCS
tartarus-commits at lists.tartarus.org
Fri Feb 17 08:41:14 GMT 2017
TL;DR:
92d855d Implement deferred closing 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-17 08:41:14
commit 92d855d0fe9b327f3881170d7663bcc5ec8f8d20
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=92d855d0fe9b327f3881170d7663bcc5ec8f8d20;hp=8d48caa849907d6737fbdaee5fc49907beb899c2
Author: Simon Tatham <anakin at pobox.com>
Date: Thu Feb 16 20:26:58 2017 +0000
Implement deferred closing of Windows handle-sockets.
When a handle socket is in THAWING state and handle_socket_unfreeze is
gradually passing the backlogged data on to the plug, the plug might
suddenly turn round and close the socket in the course of handling
plug_receive(), which means that handle_socket_unfreeze had better be
careful not to have had everything vanish out from under it when that
call returns. To solve this, I've added a 'deferred close' flag which
handle_socket_unfreeze can set around its call to plug_receive, and
handle_socket_close will detect that and not actually free the socket,
instead leaving that for handle_socket_unfreeze to do under its own
control.
windows/winhsock.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
More information about the tartarus-commits
mailing list