diff options
author | David Eichmann <EichmannD@gmail.com> | 2020-10-19 17:03:41 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-11-02 23:46:19 -0500 |
commit | 81006a06736c7300626f9d692a118b493b585cd5 (patch) | |
tree | ef2e3ee8d4e2a3f21ab2f266edd4317abf6747f2 /rts/Capability.c | |
parent | 0b7722219ffdb109c3a8b034a8e112d18e6e4336 (diff) | |
download | haskell-81006a06736c7300626f9d692a118b493b585cd5.tar.gz |
RtsAPI: pause and resume the RTS
The `rts_pause` and `rts_resume` functions have been added to `RtsAPI.h` and
allow an external process to completely pause and resume the RTS.
Co-authored-by: Sven Tennie <sven.tennie@gmail.com>
Co-authored-by: Matthew Pickering <matthewtpickering@gmail.com>
Co-authored-by: Ben Gamari <bgamari.foss@gmail.com>
Diffstat (limited to 'rts/Capability.c')
-rw-r--r-- | rts/Capability.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/rts/Capability.c b/rts/Capability.c index aedce0dd8e..8dddce7028 100644 --- a/rts/Capability.c +++ b/rts/Capability.c @@ -858,7 +858,15 @@ void waitForCapability (Capability **pCap, Task *task) /* See Note [GC livelock] in Schedule.c for why we have gcAllowed and return the bool */ bool /* Did we GC? */ -yieldCapability (Capability** pCap, Task *task, bool gcAllowed) +yieldCapability + ( Capability** pCap // [in/out] Task's owned capability. Set to the + // newly owned capability on return. + // Precondition: + // pCap != NULL + // && *pCap != NULL + , Task *task // [in] This thread's task. + , bool gcAllowed + ) { Capability *cap = *pCap; |