[commit: ghc] master: rts: Ensure that forkOS releases Task on termination (382c12d)

git at git.haskell.org git at git.haskell.org
Thu Feb 1 04:30:11 UTC 2018


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/382c12d18f3d64e01502a5c8bbc64d4aa4842e3e/ghc

>---------------------------------------------------------------

commit 382c12d18f3d64e01502a5c8bbc64d4aa4842e3e
Author: Ben Gamari <bgamari.foss at gmail.com>
Date:   Wed Jan 31 21:37:21 2018 -0500

    rts: Ensure that forkOS releases Task on termination
    
    Test Plan: validate
    
    Reviewers: simonmar, erikd
    
    Reviewed By: simonmar
    
    Subscribers: rwbarton, thomie, carter
    
    GHC Trac Issues: #14725
    
    Differential Revision: https://phabricator.haskell.org/D4346


>---------------------------------------------------------------

382c12d18f3d64e01502a5c8bbc64d4aa4842e3e
 rts/posix/OSThreads.c | 1 +
 rts/win32/OSThreads.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/rts/posix/OSThreads.c b/rts/posix/OSThreads.c
index e2471a2..9cf42aa 100644
--- a/rts/posix/OSThreads.c
+++ b/rts/posix/OSThreads.c
@@ -223,6 +223,7 @@ forkOS_createThreadWrapper ( void * entry )
     cap = rts_lock();
     rts_evalStableIO(&cap, (HsStablePtr) entry, NULL);
     rts_unlock(cap);
+    rts_done();
     return NULL;
 }
 
diff --git a/rts/win32/OSThreads.c b/rts/win32/OSThreads.c
index ad42340..b1a98ce 100644
--- a/rts/win32/OSThreads.c
+++ b/rts/win32/OSThreads.c
@@ -236,6 +236,7 @@ forkOS_createThreadWrapper ( void * entry )
     cap = rts_lock();
     rts_evalStableIO(&cap, (HsStablePtr) entry, NULL);
     rts_unlock(cap);
+    rts_done();
     return 0;
 }
 



More information about the ghc-commits mailing list