Files
abra/vendor/github.com/moby/go-archive/diff_unix.go
decentral1se 56a68dfa91
All checks were successful
continuous-integration/drone/push Build is passing
chore: bump deps
2025-08-12 05:17:15 +00:00

22 lines
634 B
Go

//go:build !windows
package archive
import "golang.org/x/sys/unix"
// overrideUmask sets current process's file mode creation mask to newmask
// and returns a function to restore it.
//
// WARNING for readers stumbling upon this code. Changing umask in a multi-
// threaded environment isn't safe. Don't use this without understanding the
// risks, and don't export this function for others to use (we shouldn't even
// be using this ourself).
//
// FIXME(thaJeztah): we should get rid of these hacks if possible.
func overrideUmask(newMask int) func() {
oldMask := unix.Umask(newMask)
return func() {
unix.Umask(oldMask)
}
}