X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Control%2FConcurrent%2FMVar.hs;h=3a382946f2d2f718a5d63e02aba2e6f2df91f0f0;hb=cd87528761ec0f2871542d526db9f15d8c6dc3a1;hp=4e31f467312890fa5856544ceb9952df5be743e7;hpb=471716a3e57d7e42f799b2e9274fb7b2a2a3017d;p=ghc-base.git diff --git a/Control/Concurrent/MVar.hs b/Control/Concurrent/MVar.hs index 4e31f46..3a38294 100644 --- a/Control/Concurrent/MVar.hs +++ b/Control/Concurrent/MVar.hs @@ -70,9 +70,11 @@ -- most recent value, or blocks if there are no new values. Multiple -- readers are supported with a @dupSkipChan@ operation. -- --- A skip channel is a pair of 'MVar's: the second 'MVar' is a semaphore --- for this particular reader: it is full if there is a value in the --- channel that this reader has not read yet, and empty otherwise. +-- A skip channel is a pair of 'MVar's. The first 'MVar' contains the +-- current value, and a list of semaphores that need to be notified +-- when it changes. The second 'MVar' is a semaphore for this particular +-- reader: it is full if there is a value in the channel that this +-- reader has not read yet, and empty otherwise. -- -- @ -- data SkipChan a = SkipChan (MVar (a, [MVar ()])) (MVar ())