X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2Fposix%2FSignals.c;h=b4cc2fd7fd2726dfc30137d05500a66b96fd175f;hb=45252b35151fc55aa19fb6770df5ed8267639083;hp=0bceeb4f1c8a8f09f7ea7751f25d19cacae51c36;hpb=03a9ff01812afc81eb5236fd3063cbec44cf469e;p=ghc-hetmet.git diff --git a/ghc/rts/posix/Signals.c b/ghc/rts/posix/Signals.c index 0bceeb4..b4cc2fd 100644 --- a/ghc/rts/posix/Signals.c +++ b/ghc/rts/posix/Signals.c @@ -345,19 +345,16 @@ stg_sig_install(int sig, int spi, StgStablePtr *handler, void *mask) #if !defined(THREADED_RTS) void -startSignalHandlers(void) +startSignalHandlers(Capability *cap) { blockUserSignals(); - ASSERT_LOCK_HELD(&sched_mutex); - while (next_pending_handler != pending_handler_buf) { next_pending_handler--; - scheduleThread ( - &MainCapability, - createIOThread(&MainCapability, + scheduleThread (cap, + createIOThread(cap, RtsFlags.GcFlags.initialStkSize, (StgClosure *) *next_pending_handler)); }