throwErrnoIfRetry

throwErrnoIfRetry :: (a -> Bool) -> String -> IO a -> IO a
base Foreign.C.Error
as throwErrnoIf, but retry the IO action when it yields the error code eINTR - this amounts to the standard retry loop for interrupted POSIX system calls.
throwErrnoIfRetry_ :: (a -> Bool) -> String -> IO a -> IO ()
base Foreign.C.Error
as throwErrnoIfRetry, but discards the result.
throwErrnoIfRetryMayBlock :: (a -> Bool) -> String -> IO a -> IO b -> IO a
base Foreign.C.Error
as throwErrnoIfRetry, but additionally if the operation yields the error code eAGAIN or eWOULDBLOCK, an alternative action is executed before retrying.
throwErrnoIfRetryMayBlock_ :: (a -> Bool) -> String -> IO a -> IO b -> IO ()
base Foreign.C.Error
as throwErrnoIfRetryMayBlock, but discards the result.