Don't do FD_SETSIZE check on Windows.
authorKen Raeburn <raeburn@mit.edu>
Fri, 27 Jun 2008 00:31:59 +0000 (00:31 +0000)
committerKen Raeburn <raeburn@mit.edu>
Fri, 27 Jun 2008 00:31:59 +0000 (00:31 +0000)
Also, for form's sake, use closesocket instead of close inside the check.

Kevin or Jeff, could you please verify that the code works again?

ticket: 5925
status: open

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20479 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/os/sendto_kdc.c

index 87d78c8a05482f091f2c6b4ac01832a0e41d8f9d..2063b302fe4d0d6b96b87d9605b3727e6ee0cfcc 100644 (file)
@@ -671,12 +671,14 @@ start_connection (struct conn_state *state,
        dprint("socket: %m creating with af %d\n", state->err, ai->ai_family);
        return -1;              /* try other hosts */
     }
+#ifndef _WIN32 /* On Windows FD_SETSIZE is a count, not a max value.  */
     if (fd >= FD_SETSIZE) {
-       close(fd);
+       closesocket(fd);
        state->err = EMFILE;
        dprint("socket: fd %d too high\n", fd);
        return -1;
     }
+#endif
     set_cloexec_fd(fd);
     /* Make it non-blocking.  */
     if (ai->ai_socktype == SOCK_STREAM) {