[Git][ghc/ghc][master] Export labelThread from Control.Concurrent
Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC Commits: 917ab8ff by Oleg Grenrus at 2026-01-23T10:52:55-05:00 Export labelThread from Control.Concurrent - - - - - 7 changed files: - libraries/base/changelog.md - libraries/base/src/Control/Concurrent.hs - libraries/base/src/System/Timeout.hs - testsuite/tests/interface-stability/base-exports.stdout - testsuite/tests/interface-stability/base-exports.stdout-javascript-unknown-ghcjs - testsuite/tests/interface-stability/base-exports.stdout-mingw32 - testsuite/tests/interface-stability/base-exports.stdout-ws-32 Changes: ===================================== libraries/base/changelog.md ===================================== @@ -22,6 +22,7 @@ * `GHC.Conc.throwSTM` and `GHC.Conc.Sync.throwSTM` now carry a `HasCallStack` constraint and attach a `Backtrace` annotation to the thrown exception. ([GHC #25365](https://gitlab.haskell.org/ghc/ghc/-/issues/25365)) * `GHC.Conc.catchSTM` and `GHC.Conc.Sync.catchSTM` now attach `WhileHandling` annotation to exceptions thrown from the handler. ([GHC #25365](https://gitlab.haskell.org/ghc/ghc/-/issues/25365)) * Remove `GHC.JS.Prim.Internal.Build`, as per [CLC #329](https://github.com/haskell/core-libraries-committee/issues/329) + * Export `labelThread` from `Control.Concurrent`.([CLC proposal #376](https://github.com/haskell/core-libraries-committee/issues/376)) ## 4.22.0.0 *TBA* * Shipped with GHC 9.14.1 ===================================== libraries/base/src/Control/Concurrent.hs ===================================== @@ -82,6 +82,9 @@ module Control.Concurrent ( -- * Weak references to ThreadIds mkWeakThreadId, + -- * Thread debugging + labelThread, + -- * GHC's implementation of concurrency -- |This section describes features specific to GHC's ===================================== libraries/base/src/System/Timeout.hs ===================================== @@ -29,7 +29,6 @@ import GHC.Internal.Control.Exception (Exception(..), handleJust, bracket, asyncExceptionToException, asyncExceptionFromException) import GHC.Internal.Data.Unique (Unique, newUnique) -import GHC.Conc (labelThread) import Prelude -- $setup ===================================== testsuite/tests/interface-stability/base-exports.stdout ===================================== @@ -120,6 +120,7 @@ module Control.Concurrent where isCurrentThreadBound :: GHC.Internal.Types.IO GHC.Internal.Types.Bool isEmptyMVar :: forall a. MVar a -> GHC.Internal.Types.IO GHC.Internal.Types.Bool killThread :: ThreadId -> GHC.Internal.Types.IO () + labelThread :: ThreadId -> GHC.Internal.Base.String -> GHC.Internal.Types.IO () mkWeakMVar :: forall a. MVar a -> GHC.Internal.Types.IO () -> GHC.Internal.Types.IO (GHC.Internal.Weak.Weak (MVar a)) mkWeakThreadId :: ThreadId -> GHC.Internal.Types.IO (GHC.Internal.Weak.Weak ThreadId) modifyMVar :: forall a b. MVar a -> (a -> GHC.Internal.Types.IO (a, b)) -> GHC.Internal.Types.IO b ===================================== testsuite/tests/interface-stability/base-exports.stdout-javascript-unknown-ghcjs ===================================== @@ -120,6 +120,7 @@ module Control.Concurrent where isCurrentThreadBound :: GHC.Internal.Types.IO GHC.Internal.Types.Bool isEmptyMVar :: forall a. MVar a -> GHC.Internal.Types.IO GHC.Internal.Types.Bool killThread :: ThreadId -> GHC.Internal.Types.IO () + labelThread :: ThreadId -> GHC.Internal.Base.String -> GHC.Internal.Types.IO () mkWeakMVar :: forall a. MVar a -> GHC.Internal.Types.IO () -> GHC.Internal.Types.IO (GHC.Internal.Weak.Weak (MVar a)) mkWeakThreadId :: ThreadId -> GHC.Internal.Types.IO (GHC.Internal.Weak.Weak ThreadId) modifyMVar :: forall a b. MVar a -> (a -> GHC.Internal.Types.IO (a, b)) -> GHC.Internal.Types.IO b ===================================== testsuite/tests/interface-stability/base-exports.stdout-mingw32 ===================================== @@ -120,6 +120,7 @@ module Control.Concurrent where isCurrentThreadBound :: GHC.Internal.Types.IO GHC.Internal.Types.Bool isEmptyMVar :: forall a. MVar a -> GHC.Internal.Types.IO GHC.Internal.Types.Bool killThread :: ThreadId -> GHC.Internal.Types.IO () + labelThread :: ThreadId -> GHC.Internal.Base.String -> GHC.Internal.Types.IO () mkWeakMVar :: forall a. MVar a -> GHC.Internal.Types.IO () -> GHC.Internal.Types.IO (GHC.Internal.Weak.Weak (MVar a)) mkWeakThreadId :: ThreadId -> GHC.Internal.Types.IO (GHC.Internal.Weak.Weak ThreadId) modifyMVar :: forall a b. MVar a -> (a -> GHC.Internal.Types.IO (a, b)) -> GHC.Internal.Types.IO b ===================================== testsuite/tests/interface-stability/base-exports.stdout-ws-32 ===================================== @@ -120,6 +120,7 @@ module Control.Concurrent where isCurrentThreadBound :: GHC.Internal.Types.IO GHC.Internal.Types.Bool isEmptyMVar :: forall a. MVar a -> GHC.Internal.Types.IO GHC.Internal.Types.Bool killThread :: ThreadId -> GHC.Internal.Types.IO () + labelThread :: ThreadId -> GHC.Internal.Base.String -> GHC.Internal.Types.IO () mkWeakMVar :: forall a. MVar a -> GHC.Internal.Types.IO () -> GHC.Internal.Types.IO (GHC.Internal.Weak.Weak (MVar a)) mkWeakThreadId :: ThreadId -> GHC.Internal.Types.IO (GHC.Internal.Weak.Weak ThreadId) modifyMVar :: forall a b. MVar a -> (a -> GHC.Internal.Types.IO (a, b)) -> GHC.Internal.Types.IO b View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/917ab8ff84157eeda54dbe818cdc7ed3... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/917ab8ff84157eeda54dbe818cdc7ed3... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Marge Bot (@marge-bot)