зеркало из https://github.com/github/putty.git
David Brinegar's workaround for an error reporting problem in some
WinSocks. [originally from svn r1004]
This commit is contained in:
Родитель
080d59422b
Коммит
dfb9893509
11
winnet.c
11
winnet.c
|
@ -504,8 +504,15 @@ void try_send(Actual_Socket s) {
|
|||
noise_ultralight(nsent);
|
||||
if (nsent <= 0) {
|
||||
err = (nsent < 0 ? WSAGetLastError() : 0);
|
||||
if (err == WSAEWOULDBLOCK) {
|
||||
/* Perfectly normal: we've sent all we can for the moment. */
|
||||
if ((err==0 && nsent < 0) || err == WSAEWOULDBLOCK) {
|
||||
/*
|
||||
* Perfectly normal: we've sent all we can for the moment.
|
||||
*
|
||||
* (Apparently some WinSocks can return <0 but
|
||||
* leave no error indication - WSAGetLastError() is
|
||||
* called but returns zero - so we check that case
|
||||
* and treat it just like WSAEWOULDBLOCK.)
|
||||
*/
|
||||
s->writable = FALSE;
|
||||
return;
|
||||
} else if (nsent == 0 ||
|
||||
|
|
Загрузка…
Ссылка в новой задаче