diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2025-05-17 22:53:01 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska@appnovation.com> | 2025-05-17 22:53:01 +0000 |
| commit | 0166e83ac731a0c5803db22471a2c936b0567a64 (patch) | |
| tree | 05a3ed93771fc83c72351ee78698f4b07701a36e /src/libstddjb/alarm_timeout.c | |
| parent | f40d8d198eea1d91f092c09ee738f751ada741bc (diff) | |
| download | skalibs-0166e83ac731a0c5803db22471a2c936b0567a64.tar.gz | |
Clamp setitimer to 1e8 seconds because MacOS
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'src/libstddjb/alarm_timeout.c')
| -rw-r--r-- | src/libstddjb/alarm_timeout.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/libstddjb/alarm_timeout.c b/src/libstddjb/alarm_timeout.c index 8ce5d3d..f887121 100644 --- a/src/libstddjb/alarm_timeout.c +++ b/src/libstddjb/alarm_timeout.c @@ -42,8 +42,9 @@ int alarm_timeout (tain const *tto) #else #ifdef SKALIBS_HASITIMER -#include <limits.h> #include <sys/time.h> +#include <errno.h> +#include <limits.h> int alarm_timeout (tain const *tto) { @@ -53,7 +54,12 @@ int alarm_timeout (tain const *tto) it.it_value.tv_sec = INT_MAX ; it.it_value.tv_usec = 0 ; } - if (setitimer(ITIMER_REAL, &it, 0) < 0) return 0 ; + if (setitimer(ITIMER_REAL, &it, 0) < 0) + { + if (errno != EINVAL) return 0 ; + it.it_Value.tv_sec = 9999999 ; + if (setitimer(ITIMER_REAL, &it, 0) < 0) return 0 ; + } return 1 ; } |
