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.
This commit is contained in:
parent
526d10139d
commit
324ca5b489
@ -1,7 +1,11 @@
|
||||
#if defined(_WIN32)
|
||||
# include <windows.h>
|
||||
#else
|
||||
#elif _XOPEN_SOURCE >= 500 || defined(_ALL_SOURCE)
|
||||
# include <unistd.h>
|
||||
#else
|
||||
# include <time.h>
|
||||
|
||||
# include <sys/select.h>
|
||||
#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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user