@@ -131,7 +131,6 @@ import Data.Kind (Type)
132import Data.IORef
132import Data.IORef
133 (IORef, modifyIORef, newIORef, readIORef, writeIORef, atomicModifyIORef)
133 (IORef, modifyIORef, newIORef, readIORef, writeIORef, atomicModifyIORef)
134−import Data.List ((\\))
135import Data.Maybe (fromJust)
134import Data.Maybe (fromJust)
136#if __GLASGOW_HASKELL__ < 808
135#if __GLASGOW_HASKELL__ < 808
137import Data.Semigroup ((<>))
136import Data.Semigroup ((<>))
@@ -618,14 +617,14 @@ cleanupSVar :: SVar t m a -> IO ()
618cleanupSVar sv = do
617cleanupSVar sv = do
619 workers <- readIORef (workerThreads sv)
618 workers <- readIORef (workerThreads sv)
620 Prelude.mapM_ (`throwTo` ThreadAbort)
619 Prelude.mapM_ (`throwTo` ThreadAbort)
621− (S.toList workers)
620+ workers
623cleanupSVarFromWorker :: SVar t m a -> IO ()
622cleanupSVarFromWorker :: SVar t m a -> IO ()
624cleanupSVarFromWorker sv = do
623cleanupSVarFromWorker sv = do
625 workers <- readIORef (workerThreads sv)
624 workers <- readIORef (workerThreads sv)
626 self <- myThreadId
625 self <- myThreadId
627− mapM_ (`throwTo` ThreadAbort)
626+ Prelude.mapM_ (`throwTo` ThreadAbort)
628− (S.toList workers \\ [self])
627+ (Prelude.filter (/= self) $ S.toList workers)
630-------------------------------------------------------------------------------
629-------------------------------------------------------------------------------
631-- Worker latency data collection
630-- Worker latency data collection