diff options
Diffstat (limited to 'src/libstddjb')
| -rw-r--r-- | src/libstddjb/iopause_select.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libstddjb/iopause_select.c b/src/libstddjb/iopause_select.c index 823f20b..863bea7 100644 --- a/src/libstddjb/iopause_select.c +++ b/src/libstddjb/iopause_select.c @@ -1,5 +1,6 @@ /* ISC license. */ +#include <skalibs/sysdeps.h> #include <skalibs/bsdsnowflake.h> #include <string.h> /* Solaris... */ @@ -29,6 +30,13 @@ int iopause_select (iopause_fd *x, unsigned int len, tain const *deadline, tain if (errno != EOVERFLOW) return -1 ; else deadline = 0 ; } +#ifdef SKALIBS_HASSELECTSHORTTIMEOUT + if (deadline && tv.tv_sec >= 100000000) + { + tv.tv_sec = 99999999 ; + tv.tv_usec = 0 ; + } +#endif } for (unsigned int i = 0 ; i < len ; i++) |
