return ood, err
}
RecordOODTgt:
- if err = unix.Flock(int(FdOODTgtsLock.Fd()), unix.LOCK_EX); err != nil {
+ flock := unix.Flock_t{
+ Type: unix.F_WRLCK,
+ Whence: io.SeekStart,
+ }
+ if err = unix.FcntlFlock(FdOODTgtsLock.Fd(), unix.F_SETLKW, &flock); err != nil {
log.Fatalln(err)
}
if _, err = FdOODTgts.Seek(0, io.SeekEnd); err != nil {
if _, err := FdOODTgts.WriteString(p + "\x00"); err != nil {
log.Fatalln(err)
}
- if err = unix.Flock(int(FdOODTgtsLock.Fd()), unix.LOCK_UN); err != nil {
+ flock.Type = unix.F_UNLCK
+ if err = unix.FcntlFlock(FdOODTgtsLock.Fd(), unix.F_SETLK, &flock); err != nil {
log.Fatalln(err)
}
return true, nil
func oodTgtsClear() {
var err error
- if err = unix.Flock(int(FdOODTgtsLock.Fd()), unix.LOCK_EX); err != nil {
+ flock := unix.Flock_t{
+ Type: unix.F_WRLCK,
+ Whence: io.SeekStart,
+ }
+ if err = unix.FcntlFlock(FdOODTgtsLock.Fd(), unix.F_SETLKW, &flock); err != nil {
log.Fatalln(err)
}
if err = FdOODTgts.Truncate(0); err != nil {
log.Fatalln(err)
}
- if err = unix.Flock(int(FdOODTgtsLock.Fd()), unix.LOCK_UN); err != nil {
+ flock.Type = unix.F_UNLCK
+ if err = unix.FcntlFlock(FdOODTgtsLock.Fd(), unix.F_SETLK, &flock); err != nil {
log.Fatalln(err)
}
}