simon-svn: putty: simon

Commits to Tartarus CVS repository. tartarus-commits at lists.tartarus.org
Sun Jul 21 08:40:36 BST 2013


SVN root:       svn://svn.tartarus.org/sgt
Changes by:     simon
Revision:       9951
Date:           2013-07-21 08:40:36 +0100 (Sun, 21 Jul 2013)

Log message (16 lines):
Completely remove the 'frozen_readable' mechanism from uxnet.c. It
parallels a similar mechanism in winnet.c and came over by copy and
paste, but is pointless in the Unix networking API.

On Windows, if you're using a mechanism such as WSAAsyncSelect which
delivers readability notifications as messages rather than return
values from a system call, you only get notified that a socket is
readable once - it remembers that it's told you, and doesn't tell you
again until after you've done a read. So in the case where we
intentionally stop reading from a socket because our local buffer is
full, and later want to start reading again, we do a read from the
socket with MSG_PEEK set, and that clears Windows's flag and tells it
to start sending us readability notifications again.

On Unix, select() and friends didn't do anything so strange in the
first place, so the whole mechanism is unnecessary.

Modified files:
U   putty/unix/uxnet.c

Links:
http://svn.tartarus.org/sgt/?rev=9951&view=rev
http://svn.tartarus.org/sgt/putty/unix/uxnet.c?rev=9951&r1=9950&r2=9951



More information about the tartarus-commits mailing list