From 324ca5b489076e548258fb7acd9ed3c238406eda Mon Sep 17 00:00:00 2001 From: Raul Tambre Date: Fri, 24 Jun 2022 21:19:01 +0300 Subject: Tests/CTestTestFdSetSize: Support plain POSIX When compiling in ISO C mode functions from newer POSIX standards such as usleep() and nanosleep() aren't available. Fortunately select() allows timing out with microsecond precision. --- Tests/CTestTestFdSetSize/sleep.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Tests/CTestTestFdSetSize/sleep.c b/Tests/CTestTestFdSetSize/sleep.c index 2fb6490..d55cec6 100644 --- a/Tests/CTestTestFdSetSize/sleep.c +++ b/Tests/CTestTestFdSetSize/sleep.c @@ -1,7 +1,11 @@ #if defined(_WIN32) # include -#else +#elif _XOPEN_SOURCE >= 500 || defined(_ALL_SOURCE) # include +#else +# include + +# include #endif /* sleeps for 0.1 second */ @@ -9,8 +13,14 @@ int main(int argc, char** argv) { #if defined(_WIN32) Sleep(100); -#else +#elif _XOPEN_SOURCE >= 500 || defined(_ALL_SOURCE) usleep(100 * 1000); +#else + struct timeval tv; + tv.tv_sec = 0; + tv.tv_usec = 100 * 1000; + + select(0, NULL, NULL, NULL, &tv); #endif return 0; } -- cgit v0.12