mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
dirmngr,w32: Hack around a select problem.
* dirmngr/dns.c (FD_SETSIZE): Bump up to 1024. (dns_poll): Return an error instead of hitting an assertion failure. -- For unknown reasons socket() return fd with values 244, 252, 268. The latter is above the FD_SETSIZE of 256. It seems that select has been build with a highler FD_SETSIZE limit. Bump up to a reasonable large value. A better solution would be to grab some code from npth_eselect to replace select. We could also use npth_eselect direclty in dns-stuff.c instead of using dns_res_poll. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
aec89a7297
commit
d51499fdc5
@ -50,7 +50,7 @@
|
||||
|
||||
#if _WIN32
|
||||
#ifndef FD_SETSIZE
|
||||
#define FD_SETSIZE 256
|
||||
#define FD_SETSIZE 1024
|
||||
#endif
|
||||
#include <winsock2.h>
|
||||
#include <ws2tcpip.h>
|
||||
@ -1107,7 +1107,8 @@ static int dns_poll(int fd, short events, int timeout) {
|
||||
if (!events)
|
||||
return 0;
|
||||
|
||||
assert(fd >= 0 && (unsigned)fd < FD_SETSIZE);
|
||||
if (fd < 0 || (unsigned)fd >= FD_SETSIZE)
|
||||
return EINVAL;
|
||||
|
||||
FD_ZERO(&rset);
|
||||
FD_ZERO(&wset);
|
||||
|
Loading…
x
Reference in New Issue
Block a user