//go:build windows
package tlsfront
import (
"os"
"golang.org/x/sys/windows"
)
func lockFile(file *os.File) (func(), error) {
var overlapped windows.Overlapped
handle := windows.Handle(file.Fd())
if err := windows.LockFileEx(handle, windows.LOCKFILE_EXCLUSIVE_LOCK, 0, 1, 0, &overlapped); err != nil {
return nil, err
}
return func() {
_ = windows.UnlockFileEx(handle, 0, 1, 0, &overlapped)
}, nil
}