mirror of
https://github.com/3proxy/3proxy.git
synced 2026-11-05 09:25:49 +08:00
Windows: an error set where socket errors are read
errno is WSAGetLastError() on Windows, but seterrno3() set the C library's errno there: the EAGAIN of a TLS read or write wanting the socket again was not seen as one, and the error left was whatever the socket call before had set. seterrno3() sets the socket error now. socks.c assigned errno directly, which does not build on Windows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
63cfcafbc5
commit
b7037f1159
@ -182,7 +182,8 @@ size_t threadstacksize(int extra);
|
||||
#ifndef strncasecmp
|
||||
#define strncasecmp strnicmp
|
||||
#endif
|
||||
#define seterrno3(x) _set_errno(x)
|
||||
/* errno is WSAGetLastError() here */
|
||||
#define seterrno3(x) WSASetLastError(x)
|
||||
#else
|
||||
#define seterrno3(x) (errno = x)
|
||||
#endif
|
||||
|
||||
@ -381,7 +381,7 @@ fflush(stderr);
|
||||
break;
|
||||
}
|
||||
if (!fds[0].revents) {
|
||||
errno = EAGAIN;
|
||||
seterrno3(EAGAIN);
|
||||
continue;
|
||||
}
|
||||
sasize = sizeof(param->sinsr);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user