switch from package syscall to x/sys/unix
The syscall package is locked down and the comment in [1] advises to switch code to use the corresponding package from golang.org/x/sys. Do so and replace usage of package syscall with package golang.org/x/sys/unix where applicable. [1] https://github.com/golang/go/blob/master/src/syscall/syscall.go#L21-L24 This will also allow to get updates and fixes for syscall wrappers without having to use a new go version. Errno, Signal and SysProcAttr aren't changed as they haven't been implemented in /x/sys/. Stat_t from syscall is used if standard library packages (e.g. os) require it. syscall.SIGTERM is used for cross-platform files.
This commit is contained in:
@@ -18,12 +18,12 @@ limitations under the License.
|
||||
|
||||
package flock
|
||||
|
||||
import "syscall"
|
||||
import "golang.org/x/sys/unix"
|
||||
|
||||
// Acquire acquires a lock on a file for the duration of the process. This method
|
||||
// is reentrant.
|
||||
func Acquire(path string) error {
|
||||
fd, err := syscall.Open(path, syscall.O_CREAT|syscall.O_RDWR, 0600)
|
||||
fd, err := unix.Open(path, unix.O_CREAT|unix.O_RDWR, 0600)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -31,5 +31,5 @@ func Acquire(path string) error {
|
||||
// We don't need to close the fd since we should hold
|
||||
// it until the process exits.
|
||||
|
||||
return syscall.Flock(fd, syscall.LOCK_EX)
|
||||
return unix.Flock(fd, unix.LOCK_EX)
|
||||
}
|
||||
|
Reference in New Issue
Block a user