X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Control%2FConcurrent%2FQSemN.hs;h=56c5e50ef03eac773c4504b1d6c6ff87a873ad43;hb=edc5c57d653289a1cf8dd2b05bf94ed25975e28a;hp=d8d6f49b9fe560188d17343fe45af5e8376b95c2;hpb=f77ec15be0f622df81980b757244d3401833c926;p=ghc-base.git diff --git a/Control/Concurrent/QSemN.hs b/Control/Concurrent/QSemN.hs index d8d6f49..56c5e50 100644 --- a/Control/Concurrent/QSemN.hs +++ b/Control/Concurrent/QSemN.hs @@ -24,11 +24,16 @@ module Control.Concurrent.QSemN import Prelude import Control.Concurrent.MVar +import Data.Typeable + +#include "Typeable.h" -- |A 'QSemN' is a quantity semaphore, in which the available -- \"quantity\" may be signalled or waited for in arbitrary amounts. newtype QSemN = QSemN (MVar (Int,[(Int,MVar ())])) +INSTANCE_TYPEABLE0(QSemN,qSemNTc,"QSemN") + -- |Build a new 'QSemN' with a supplied initial quantity. newQSemN :: Int -> IO QSemN newQSemN init = do