COMP: Attempt to fix non-blocking tests

This commit is contained in:
Andy Cedilnik 2004-10-06 13:03:16 -04:00
parent 84f04477b2
commit 99b444b073
2 changed files with 38 additions and 23 deletions

View File

@ -458,3 +458,20 @@ main ()
return 0; return 0;
} }
#endif #endif
#ifdef HAVE_FIONBIO
/* headers for FIONBIO test */
#include <unistd.h>
#include <stropts.h>
int
main ()
{
/* FIONBIO source test (old-style unix) */
int socket;
int flags = ioctl(socket, FIONBIO, &flags);
;
return 0;
}
#endif

View File

@ -361,11 +361,19 @@ MACRO(CURL_INTERNAL_TEST CURL_TEST)
ENDMACRO(CURL_INTERNAL_TEST) ENDMACRO(CURL_INTERNAL_TEST)
# Do curl specific tests # Do curl specific tests
FOREACH(CURL_TEST #OPTION(CURL_HAVE_DISABLED_NONBLOCKING "Disable non-blocking socket detection" OFF)
TIME_WITH_SYS_TIME SET(CURL_NONBLOCKING_TESTS)
HAVE_O_NONBLOCK IF(NOT CURL_HAVE_DISABLED_NONBLOCKING)
SET(CURL_NONBLOCKING_TESTS
HAVE_FIONBIO
HAVE_IOCTLSOCKET HAVE_IOCTLSOCKET
HAVE_IOCTLSOCKET_CASE HAVE_IOCTLSOCKET_CASE
HAVE_O_NONBLOCK
)
ENDIF(NOT CURL_HAVE_DISABLED_NONBLOCKING)
FOREACH(CURL_TEST
${CURL_NONBLOCKING_TESTS}
TIME_WITH_SYS_TIME
HAVE_O_NONBLOCKHAVE_GETHOSTBYADDR_R_5 HAVE_O_NONBLOCKHAVE_GETHOSTBYADDR_R_5
HAVE_GETHOSTBYADDR_R_7 HAVE_GETHOSTBYADDR_R_7
HAVE_GETHOSTBYADDR_R_8 HAVE_GETHOSTBYADDR_R_8
@ -461,26 +469,16 @@ SET(CMAKE_REQUIRED_FLAGS)
# Check for nonblocking # Check for nonblocking
#OPTION(CURL_HAVE_DISABLED_NONBLOCKING "Disable non-blocking socket detection" OFF) SET(HAVE_DISABLED_NONBLOCKING 1)
SET(HAVE_DISABLED_NONBLOCKING) IF(HAVE_FIONBIO OR
IF(WIN32) HAVE_IOCTLSOCKET OR
SET(CURL_HAVE_DISABLED_NONBLOCKING 1) HAVE_IOCTLSOCKET_CASE OR
ENDIF(WIN32) HAVE_O_NONBLOCK)
IF(CURL_HAVE_DISABLED_NONBLOCKING) SET(HAVE_DISABLED_NONBLOCKING)
SET(HAVE_SOME_NONBLOCK 0) ENDIF(HAVE_FIONBIO OR
FOREACH(CURL_TEST HAVE_IOCTLSOCKET OR
HAVE_FIONBIO HAVE_IOCTLSOCKET_CASE OR
HAVE_IOCTLSOCKET HAVE_O_NONBLOCK)
HAVE_IOCTLSOCKET_CASE
HAVE_O_NONBLOCK)
IF(${CURL_TEST})
SET(HAVE_SOME_NONBLOCK 1)
ENDIF(${CURL_TEST})
ENDFOREACH(CURL_TEST)
IF(NOT HAVE_SOME_NONBLOCK)
SET(HAVE_DISABLED_NONBLOCKING 1)
ENDIF(NOT HAVE_SOME_NONBLOCK)
ENDIF(CURL_HAVE_DISABLED_NONBLOCKING)
IF(RETSIGTYPE_TEST) IF(RETSIGTYPE_TEST)
SET(RETSIGTYPE void) SET(RETSIGTYPE void)