Fix a subtle bug affecting multiple-socket handling in Plink. (Was
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Tue, 23 Jan 2001 10:19:17 +0000 (10:19 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Tue, 23 Jan 2001 10:19:17 +0000 (10:19 +0000)
commitffb959c711aeb32bc6116816cee4186cfd5a5c69
tree959d2bb5092cecd5f9db5ff7c4d289b2b95c8da2
parent630ce4de6dc46484d7821fdec2c6fb8fb118b0ce
Fix a subtle bug affecting multiple-socket handling in Plink. (Was
interfering with X forwarding.)
Details of bug: the event object used as the target of
WSAEventSelect is created in such a way that it is automatically
reset when it releases a thread from WaitFor*Objects. Subsequently,
a read on the first socket in the list causes another network event
if not all the available data was read; thus the event object is set
again. Then, WSAEnumNetworkEvents is called again for the _second_
socket, and is passed the network event, which it therefore resets.
So an event has been dropped, and things only get restarted when
some more data arrives on the first socket.

git-svn-id: svn://svn.tartarus.org/sgt/putty@888 cda61777-01e9-0310-a592-d414129be87e
plink.c