X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FTimer.c;h=90f89b1c06a0e6dc7c44c37a40c31954e6117991;hb=afdbaf48894b74eee5b6cc5c17c477d9e517f389;hp=0bfea2d6fd9236224c1bec0e359874a9f497d2e1;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/rts/Timer.c b/rts/Timer.c index 0bfea2d..90f89b1 100644 --- a/rts/Timer.c +++ b/rts/Timer.c @@ -21,6 +21,7 @@ #include "Timer.h" #include "Ticker.h" #include "Capability.h" +#include "RtsSignals.h" /* ticks left before next pre-emptive context switch */ static int ticks_to_ctxt_switch = 0; @@ -70,13 +71,7 @@ handle_tick(int unused STG_UNUSED) recent_activity = ACTIVITY_INACTIVE; blackholes_need_checking = rtsTrue; /* hack: re-use the blackholes_need_checking flag */ - - /* ToDo: this doesn't work. Can't invoke - * pthread_cond_signal from a signal handler. - * Furthermore, we can't prod a capability that we - * might be holding. What can we do? - */ - prodOneCapability(); + wakeUpRts(); } break; default: