if v := os.Getenv(EnvOODTgtsFd); v != "" {
fd := mustParseFd(v, EnvOODTgtsFd)
fdLock := mustParseFd(v, EnvOODTgtsLockFd)
- if err = unix.Flock(int(fdLock.Fd()), unix.LOCK_EX); err != nil {
+ flock := unix.Flock_t{
+ Type: unix.F_WRLCK,
+ Whence: io.SeekStart,
+ }
+ if err = unix.FcntlFlock(fdLock.Fd(), unix.F_SETLKW, &flock); err != nil {
log.Fatalln(err)
}
if _, err = fd.Seek(0, io.SeekStart); err != nil {
if err != nil {
log.Fatalln(err)
}
- if err = unix.Flock(int(fdLock.Fd()), unix.LOCK_UN); err != nil {
+ flock.Type = unix.F_UNLCK
+ if err = unix.FcntlFlock(fdLock.Fd(), unix.F_SETLK, &flock); err != nil {
log.Fatalln(err)
}
OODTgts = map[string]struct{}{}