Repository : ssh://darcs.haskell.org//srv/darcs/packages/base On branch : master
http://hackage.haskell.org/trac/ghc/changeset/b6de8b3968c008931277decd2d4c308a5d016292 >--------------------------------------------------------------- commit b6de8b3968c008931277decd2d4c308a5d016292 Author: Simon Marlow <[email protected]> Date: Wed Dec 7 15:39:17 2011 +0000 Add getNumProcessors :: IO Int >--------------------------------------------------------------- GHC/Conc.lhs | 1 + GHC/Conc/Sync.lhs | 7 +++++++ 2 files changed, 8 insertions(+), 0 deletions(-) diff --git a/GHC/Conc.lhs b/GHC/Conc.lhs index cc6845a..a6ee11a 100644 --- a/GHC/Conc.lhs +++ b/GHC/Conc.lhs @@ -40,6 +40,7 @@ module GHC.Conc , numCapabilities -- :: Int , getNumCapabilities -- :: IO Int , setNumCapabilities -- :: Int -> IO () + , getNumProcessors -- :: IO Int , numSparks -- :: IO Int , childHandler -- :: Exception -> IO () , myThreadId -- :: IO ThreadId diff --git a/GHC/Conc/Sync.lhs b/GHC/Conc/Sync.lhs index fb81e27..dccab3d 100644 --- a/GHC/Conc/Sync.lhs +++ b/GHC/Conc/Sync.lhs @@ -50,6 +50,7 @@ module GHC.Conc.Sync , numCapabilities -- :: Int , getNumCapabilities -- :: IO Int , setNumCapabilities -- :: Int -> IO () + , getNumProcessors -- :: IO Int , numSparks -- :: IO Int , childHandler -- :: Exception -> IO () , myThreadId -- :: IO ThreadId @@ -316,6 +317,12 @@ setNumCapabilities i = c_setNumCapabilities (fromIntegral i) foreign import ccall safe "setNumCapabilities" c_setNumCapabilities :: CUInt -> IO () +getNumProcessors :: IO Int +getNumProcessors = fmap fromIntegral c_getNumberOfProcessors + +foreign import ccall unsafe "getNumberOfProcessors" + c_getNumberOfProcessors :: IO CUInt + -- | Returns the number of sparks currently in the local spark pool numSparks :: IO Int numSparks = IO $ \s -> case numSparks# s of (# s', n #) -> (# s', I# n #) _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
