Handle EROFS/ETXTBSY as permission denied in `fileAccess` (re #8741)
authorAlain O'Dea <alain.odea@verafin.com>
Wed, 5 Feb 2014 21:24:28 +0000 (21:24 +0000)
committerAustin Seipp <austin@well-typed.com>
Fri, 28 Feb 2014 18:04:06 +0000 (12:04 -0600)
This extends `System.Posix.Files.`access` to map EROFS & ETXTBSY to
mean permission denied just like EACCESS.

Based on a patch by Alain O'Dea and comments by Duncan Coutts

Authored-by: Alain O'Dea <alain.odea@verafin.com>
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
(cherry picked from commit ecc92abad017cf12d8eb83509d4d57ae14ad47f9)

System/Posix/Files.hsc
changelog.md

index 57f771e..704ef8a 100644 (file)
@@ -151,7 +151,7 @@ access name flags =
     if (r == 0)
        then return True
        else do err <- getErrno
-               if (err == eACCES)
+               if (err == eACCES || err == eROFS || err == eTXTBSY)
                   then return False
                   else throwErrnoPath "fileAccess" name
 
index 272c503..54e5a96 100644 (file)
@@ -1,3 +1,7 @@
+## 2.7.0.1
+
+  * Handle EROFS and ETXTBSY as (non-exceptional) permission denied in `fileAccess`
+
 ## 2.7.0.0  *Nov 2013*
 
   * New `forkProcessWithUnmask` function in the style of `forkIOWithUnmask`