mask in waitQSem

Yuras Shumovich shumovichy at gmail.com
Fri Nov 14 21:23:04 UTC 2014


Hello,

I was reviewing some exception handling code in base library, and I
found this line:
https://phabricator.haskell.org/diffusion/GHC/browse/master/libraries/base/Control/Concurrent/QSem.hs;165072b334ebb2ccbef38a963ac4d126f1e08c96$74

Here mask is used, but I looks completely useless for me. waitQSem
itself should be called with async exceptions masked, otherwise there is
no way to prevent resource leak.

Do anyone know why mask is used here?

I wonder whether an author of the code tried to do something different,
so there actually can be a bug hidden here. Probably
uninterruptibleMask_ should be used here? (I don't think so though.)

Thanks,
Yuras




More information about the ghc-devs mailing list