Merge pull request #1248 from mariusgreuel/pr-fix-win32-ser_recv-timeout

Make WIN32 implementation of ser_recv() fail on time-out
This commit is contained in:
Stefan Rueger 2022-12-31 14:58:42 +00:00 committed by GitHub
commit d09b83079c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 3 deletions

View File

@ -486,12 +486,12 @@ reselect:
nfds = select(fd->ifd + 1, &rfds, NULL, NULL, &to2); nfds = select(fd->ifd + 1, &rfds, NULL, NULL, &to2);
if (nfds == 0) { if (nfds == 0) {
if (verbose > 1) { if (verbose > 1) {
pmsg_notice("ser_recv(): programmer is not responding\n"); pmsg_notice("net_recv(): programmer is not responding\n");
} }
return -1; return -1;
} else if (nfds == -1) { } else if (nfds == -1) {
if (WSAGetLastError() == WSAEINTR || WSAGetLastError() == WSAEINPROGRESS) { if (WSAGetLastError() == WSAEINTR || WSAGetLastError() == WSAEINPROGRESS) {
pmsg_notice("ser_recv(): programmer is not responding, reselecting\n"); pmsg_notice("net_recv(): programmer is not responding, reselecting\n");
goto reselect; goto reselect;
} else { } else {
FormatMessage( FormatMessage(
@ -589,7 +589,7 @@ static int ser_recv(const union filedescriptor *fd, unsigned char * buf, size_t
} }
/* time out detected */ /* time out detected */
if (read == 0) { if (read < buflen) {
pmsg_notice2("ser_recv(): programmer is not responding\n"); pmsg_notice2("ser_recv(): programmer is not responding\n");
return -1; return -1;
} }