mirror of
https://github.com/prometheus/prometheus
synced 2024-12-26 00:23:18 +00:00
a081c9436b
Main changes: - Switched to using `go-bindata` in place of `scripts/embed-static.sh`. - Support for building Prometheus without a `Makefile`. - Minor typo fix to make Prometheus build on Windows (without Makefiles). Please note that this does not mean that prometheus will work on Windows. There are still failing tests!
24 lines
511 B
Go
24 lines
511 B
Go
package flock
|
|
|
|
import "syscall"
|
|
|
|
type windowsLock struct {
|
|
fd syscall.Handle
|
|
}
|
|
|
|
func (fl *windowsLock) Release() error {
|
|
return syscall.Close(fl.fd)
|
|
}
|
|
|
|
func newLock(fileName string) (Releaser, error) {
|
|
pathp, err := syscall.UTF16PtrFromString(fileName)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
fd, err := syscall.CreateFile(pathp, syscall.GENERIC_READ|syscall.GENERIC_WRITE, 0, nil, syscall.CREATE_ALWAYS, syscall.FILE_ATTRIBUTE_NORMAL, 0)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &windowsLock{fd}, nil
|
|
}
|