FFFTPのソースコードです。
Revision | 31385ce7e487689efdeb274fc052d57c07ca3ad4 (tree) |
---|---|
Zeit | 2011-10-28 19:33:57 |
Autor | s_kawamoto <s_kawamoto@user...> |
Commiter | s_kawamoto |
Change behavior of checking closed sockets for some Windows 2000 environments.
@@ -992,7 +992,7 @@ int do_recv(SOCKET s, char *buf, int len, int flags, int *TimeOutErr, int *Cance | ||
992 | 992 | if(Ret != SOCKET_ERROR) |
993 | 993 | break; |
994 | 994 | // 何故か一部のホストとWindows 2000の組み合わせで通信できないバグに暫定対応 |
995 | - if(AskAsyncDone(s, &Error, FD_CLOSE_BIT) == YES) | |
995 | + if(AskAsyncDone(s, &Error, FD_CLOSE_BIT) == YES && recvS(s, buf, len, MSG_PEEK) <= 0) | |
996 | 996 | break; |
997 | 997 | Error = WSAGetLastError(); |
998 | 998 | Sleep(1); |