diff options
author | Ben Gamari <bgamari.foss@gmail.com> | 2017-10-16 15:28:02 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2017-10-16 17:24:49 -0400 |
commit | 7e790b38c205da67681f632b00faf7a0ea33510d (patch) | |
tree | c23e0efca6d007dc2120d951a291e45bf08c7fa8 /rts/posix | |
parent | 5dab54428229a8d4f1658c4ad94f616b211851fe (diff) | |
download | haskell-7e790b38c205da67681f632b00faf7a0ea33510d.tar.gz |
rts: Label all threads created by the RTS
Reviewers: austin, erikd, simonmar
Reviewed By: simonmar
Subscribers: pacak, rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4068
Diffstat (limited to 'rts/posix')
-rw-r--r-- | rts/posix/Signals.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/rts/posix/Signals.c b/rts/posix/Signals.c index e75f99def8..cf45019d95 100644 --- a/rts/posix/Signals.c +++ b/rts/posix/Signals.c @@ -16,6 +16,7 @@ #include "Prelude.h" #include "Ticker.h" #include "Stable.h" +#include "ThreadLabels.h" #include "Libdw.h" #if defined(alpha_HOST_ARCH) @@ -471,14 +472,16 @@ startSignalHandlers(Capability *cap) // freed by runHandler memcpy(info, next_pending_handler, sizeof(siginfo_t)); - scheduleThread(cap, + StgTSO *t = createIOThread(cap, - RtsFlags.GcFlags.initialStkSize, - rts_apply(cap, - rts_apply(cap, - &base_GHCziConcziSignal_runHandlersPtr_closure, - rts_mkPtr(cap, info)), - rts_mkInt(cap, info->si_signo)))); + RtsFlags.GcFlags.initialStkSize, + rts_apply(cap, + rts_apply(cap, + &base_GHCziConcziSignal_runHandlersPtr_closure, + rts_mkPtr(cap, info)), + rts_mkInt(cap, info->si_signo))); + scheduleThread(cap, t); + labelThread(cap, t, "signal handler thread"); } unblockUserSignals(); |