summaryrefslogtreecommitdiff
path: root/rts/posix
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-01-22 19:09:49 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-02-11 05:08:47 -0500
commite319570ec141e0f63d82d23b88a40f96fc0b7105 (patch)
treef74ccb5c51ba9a1489d89e6ae6355c2033cbc6e1 /rts/posix
parentde32beffde82eec954691703541a2d4081799453 (diff)
downloadhaskell-e319570ec141e0f63d82d23b88a40f96fc0b7105.tar.gz
rts: Use nanosleep instead of usleep
usleep was removed in POSIX.1-2008.
Diffstat (limited to 'rts/posix')
-rw-r--r--rts/posix/itimer/Pthread.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/rts/posix/itimer/Pthread.c b/rts/posix/itimer/Pthread.c
index 6f9cd8f4b3..083775bab2 100644
--- a/rts/posix/itimer/Pthread.c
+++ b/rts/posix/itimer/Pthread.c
@@ -39,6 +39,7 @@
#include "Rts.h"
#include "Ticker.h"
+#include "RtsUtils.h"
#include "Proftimer.h"
#include "Schedule.h"
#include "posix/Clock.h"
@@ -127,8 +128,8 @@ static void *itimer_thread_func(void *_handle_tick)
}
}
} else {
- if (usleep(TimeToUS(itimer_interval)) != 0 && errno != EINTR) {
- sysErrorBelch("usleep(TimeToUS(itimer_interval) failed");
+ if (rtsSleep(itimer_interval) != 0) {
+ sysErrorBelch("ITimer: sleep failed: %s", strerror(errno));
}
}