diff --git a/System/Posix/Files.hsc b/System/Posix/Files.hsc index c8b5ddf3fd1196b10580e4ec9c28aa63bd807f14..7c209872042483e6e3af033300fa833ef6af7507 100644 --- a/System/Posix/Files.hsc +++ b/System/Posix/Files.hsc @@ -152,7 +152,8 @@ access name flags = if (r == 0) then return True else do err <- getErrno - if (err == eACCES || err == eROFS || err == eTXTBSY) + if (err == eACCES || err == eROFS || err == eTXTBSY || + err == ePERM) then return False else throwErrnoPath "fileAccess" name diff --git a/System/Posix/Files/ByteString.hsc b/System/Posix/Files/ByteString.hsc index 1b346a77d767205541c1ba559a7d8e8d3e728686..dc1a3f843b4c31e8fae6d236cc1ad5e45ac7452d 100644 --- a/System/Posix/Files/ByteString.hsc +++ b/System/Posix/Files/ByteString.hsc @@ -158,7 +158,8 @@ access name flags = if (r == 0) then return True else do err <- getErrno - if (err == eACCES || err == eROFS || err == eTXTBSY) + if (err == eACCES || err == eROFS || err == eTXTBSY || + err == ePERM) then return False else throwErrnoPath "fileAccess" name