module Control.Concurrent.Util where import Control.Applicative ((<*>)) import Control.Exception (bracket_) import Control.Concurrent.QSem (QSem, signalQSem, waitQSem) withQSem :: QSem -> IO () -> IO () withQSem = bracket_ . waitQSem <*> signalQSem