base
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
Index: src/ne_socket.c
|
||||
===================================================================
|
||||
--- src/ne_socket.c (revision 1791)
|
||||
+++ src/ne_socket.c (working copy)
|
||||
@@ -1178,10 +1178,11 @@
|
||||
{
|
||||
int ret;
|
||||
|
||||
-#ifdef USE_NONBLOCKING_CONNECT
|
||||
+#if defined(USE_NONBLOCKING_CONNECT) || defined(WIN32)
|
||||
if (sock->cotimeout) {
|
||||
int errnum, flags;
|
||||
|
||||
+#ifdef USE_NONBLOCKING_CONNECT
|
||||
/* Get flags and then set O_NONBLOCK. */
|
||||
flags = fcntl(fd, F_GETFL);
|
||||
if (flags & O_NONBLOCK) {
|
||||
@@ -1193,6 +1194,13 @@
|
||||
set_strerror(sock, errno);
|
||||
return NE_SOCK_ERROR;
|
||||
}
|
||||
+#else
|
||||
+ unsigned long nonblocking = 1;
|
||||
+ if (ioctlsocket(fd, FIONBIO, &nonblocking)) {
|
||||
+ set_strerror(sock, errnum);
|
||||
+ ret = NE_SOCK_ERROR;
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
ret = raw_connect(fd, sa, salen);
|
||||
if (ret == -1) {
|
||||
@@ -1229,12 +1237,19 @@
|
||||
ret = NE_SOCK_ERROR;
|
||||
}
|
||||
}
|
||||
-
|
||||
+#ifdef USE_NONBLOCKING_CONNECT
|
||||
/* Reset to old flags: */
|
||||
if (fcntl(fd, F_SETFL, flags) == -1) {
|
||||
set_strerror(sock, errno);
|
||||
ret = NE_SOCK_ERROR;
|
||||
- }
|
||||
+ }
|
||||
+#else
|
||||
+ nonblocking = 0;
|
||||
+ if (ioctlsocket(fd, FIONBIO, &nonblocking)) {
|
||||
+ set_strerror(sock, errnum);
|
||||
+ ret = NE_SOCK_ERROR;
|
||||
+ }
|
||||
+#endif
|
||||
} else
|
||||
#endif /* USE_NONBLOCKING_CONNECT */
|
||||
{
|
||||
Reference in New Issue
Block a user