summaryrefslogtreecommitdiff
path: root/rts/posix
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2009-02-08 19:14:31 +0000
committerIan Lynagh <igloo@earth.li>2009-02-08 19:14:31 +0000
commit4fc80ef6710401b4b249c2bf298986623bdbd503 (patch)
treef422124a2291215b261da346f8acfcde9bd53565 /rts/posix
parenta7d8074da3f326da718d1057d1b3337210ba34a8 (diff)
downloadhaskell-4fc80ef6710401b4b249c2bf298986623bdbd503.tar.gz
Handle the case where setitimer(ITIMER_VIRTUAL) is not always available
Patch from sthibaul. Fixes trac #2883.
Diffstat (limited to 'rts/posix')
-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