{-# LANGUAGE CPP #-} module ForkLabeled where #ifdef THREAD_DEBUG import Control.Concurrent.Lifted.Instrument #else import Control.Concurrent.Lifted import GHC.Conc (labelThread,forkIO) #endif forkLabeled :: String -> IO () -> IO ThreadId forkLabeled s io = do t <- forkIO io labelThread t s return t