@@ -377,6 +377,16 @@ instance MonadMask Process where
377 liftRestore restoreIO = \p2 -> do
377 liftRestore restoreIO = \p2 -> do
378 ourLocalProc <- ask
378 ourLocalProc <- ask
379 liftIO $ restoreIO $ runLocalProcess ourLocalProc p2
379 liftIO $ restoreIO $ runLocalProcess ourLocalProc p2
380+ uninterruptibleMask p = do
382+ liftIO $ uninterruptibleMask $ \restore ->
383+ runLocalProcess lproc (p (liftRestore restore))
385+ liftRestore :: (forall a. IO a -> IO a)
386+ -> (forall a. Process a -> Process a)
387+ liftRestore restoreIO = \p2 -> do
389+ liftIO $ restoreIO $ runLocalProcess ourLocalProc p2