Merge pull request #4091 from Feoramund/fix-darwin-os-open

Check if file open-mode is `O_CREATE` on Darwin before forcing chmod
This commit is contained in:
Jeroen van Rijn
2024-08-16 20:31:22 +02:00
committed by GitHub

View File

@@ -702,7 +702,7 @@ open :: proc(path: string, flags: int = O_RDWR, mode: int = 0) -> (handle: Handl
@INFO(Platin): this is only done because O_CREATE for some reason fails to apply mode
should not happen if the handle is a directory
*/
if mode != 0 && !isDir {
if flags & O_CREATE != 0 && mode != 0 && !isDir {
err = fchmod(handle, cast(u16)mode)
if err != nil {
_unix_close(handle)