summaryrefslogtreecommitdiff
path: root/rts/posix/Itimer.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/posix/Itimer.c')
-rw-r--r--rts/posix/Itimer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/rts/posix/Itimer.c b/rts/posix/Itimer.c
index 6b4ba3bb70..eb26cd3699 100644
--- a/rts/posix/Itimer.c
+++ b/rts/posix/Itimer.c
@@ -80,9 +80,10 @@
#elif defined(HAVE_SETITIMER)
-# ifdef THREADED_RTS
+# if defined(THREADED_RTS) || !defined(HAVE_SETITIMER_VIRTUAL)
// Oh dear, we have to use SIGALRM if there's no timer_create and
// we're using the THREADED_RTS. This leads to problems, see bug #850.
+// We also use it if we don't have a virtual timer (trac #2883).
# define ITIMER_SIGNAL SIGALRM
# define ITIMER_FLAVOUR ITIMER_REAL
# else