Smail/backend/config/state_lock_windows.go
smail d7837de561
Some checks are pending
Security Checks / security (push) Waiting to run
保存模拟部署迁移与最新构建校验阶段成果
2026-09-08 18:33:21 +08:00

16 lines
425 B
Go

//go:build windows
package config
import (
"os"
"golang.org/x/sys/windows"
)
func lockStateFile(file *os.File) (func(), error) {
position := &windows.Overlapped{Offset: 0x60000000}
err := windows.LockFileEx(windows.Handle(file.Fd()), windows.LOCKFILE_EXCLUSIVE_LOCK|windows.LOCKFILE_FAIL_IMMEDIATELY, 0, 1, 0, position)
return func() { _ = windows.UnlockFileEx(windows.Handle(file.Fd()), 0, 1, 0, position) }, err
}