// Copyright (c) 2026 Lark Technologies Pte. Ltd. // SPDX-License-Identifier: MIT //go:build !windows package lockfile import ( "fmt" "os" "syscall" ) func tryLockFile(f *os.File) error { err := syscall.Flock(int(f.Fd()), syscall.LOCK_EX|syscall.LOCK_NB) if err != nil { return fmt.Errorf("%w (lock: %s, syscall: %v)", ErrHeld, f.Name(), err) } return nil } func unlockFile(f *os.File) error { return syscall.Flock(int(f.Fd()), syscall.LOCK_UN) }