Browse Source

Don't allow the fd count to exceed FD_SETSIZE.

ahc_fix_select
Adrian Chadd 8 years ago
parent
commit
84f4376c6c
1 changed files with 13 additions and 0 deletions
  1. +13
    -0
      src/core.c

+ 13
- 0
src/core.c View File

@@ -49,6 +49,10 @@
#include <sys/socket.h>
#include <sys/time.h>
#ifdef HAVE_SYS_SELECT_H

// You may need to override this!
// #define FD_SETSIZE 2048

#include <sys/select.h>
#endif
#ifdef HAVE_KEVENT
@@ -1076,6 +1080,15 @@ core_connect(Conn * s)
goto failure;
}

if (sd > FD_SETSIZE) {
fprintf(stderr,
"%s.core_connect.socket: sd > FD_SETSIZE (%d)\n",
prog_name,
FD_SETSIZE);
close(sd);
goto failure;
}

if (fcntl(sd, F_SETFL, O_NONBLOCK) < 0) {
fprintf(stderr, "%s.core_connect.fcntl: %s\n",
prog_name, strerror(errno));


Loading…
Cancel
Save