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

View File

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