diff options
Diffstat (limited to 'Utility')
-rw-r--r-- | Utility/FileMode.hs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Utility/FileMode.hs b/Utility/FileMode.hs index fe9cbf56a..d9a269448 100644 --- a/Utility/FileMode.hs +++ b/Utility/FileMode.hs @@ -177,7 +177,10 @@ writeFileProtected file content = writeFileProtected' file (\h -> hPutStr h content) writeFileProtected' :: FilePath -> (Handle -> IO ()) -> IO () -writeFileProtected' file writer = withUmask 0o0077 $ +writeFileProtected' file writer = protectedOutput $ withFile file WriteMode $ \h -> do void $ tryIO $ modifyFileMode file $ removeModes otherGroupModes writer h + +protectedOutput :: IO a -> IO a +protectedOutput = withUmask 0o0077 |