Files
frpc-console/internal/process/lock_windows.go
T

31 lines
560 B
Go

//go:build windows
package process
// Lock 获取进程间互斥锁 (Windows: 内存锁)
// 注意: Windows 版本仅在同一进程内互斥,进程间不互斥
// 如需真正的进程间锁,后续可改用 Windows Named Mutex
func (pm *ProcessManager) Lock() error {
pm.mu.Lock()
defer pm.mu.Unlock()
if pm.locked {
return nil
}
pm.locked = true
return nil
}
// Unlock 释放互斥锁 (Windows)
func (pm *ProcessManager) Unlock() error {
pm.mu.Lock()
defer pm.mu.Unlock()
if !pm.locked {
return nil
}
pm.locked = false
return nil
}