ab35df454d
Removed pre-go1.17 build-tags with go fix; go mod init go fix -mod=readonly ./... rm go.mod Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
21 lines
634 B
Go
21 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)
|
|
}
|
|
}
|