aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2021-03-05 16:05:02 -0700
committerJason A. Donenfeld <Jason@zx2c4.com>2021-03-05 16:05:13 -0700
commitbd160892d972d4b76ea549efd6ca4f1f9572f03d (patch)
treeddb95bef28947c89d9ae80e537f61e28ba3d43b6
parentmanager: use new DialConfig struct for pipe (diff)
downloadwireguard-windows-bd160892d972d4b76ea549efd6ca4f1f9572f03d.tar.xz
wireguard-windows-bd160892d972d4b76ea549efd6ca4f1f9572f03d.zip
ringlogger: account for ERROR_ALREADY_EXISTS returns
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--ringlogger/dump.go2
-rw-r--r--ringlogger/ringlogger.go4
2 files changed, 3 insertions, 3 deletions
diff --git a/ringlogger/dump.go b/ringlogger/dump.go
index 16a3247c..8b5651e3 100644
--- a/ringlogger/dump.go
+++ b/ringlogger/dump.go
@@ -27,7 +27,7 @@ func DumpTo(out io.Writer, notSystem bool) error {
}
defer file.Close()
mapping, err := windows.CreateFileMapping(windows.Handle(file.Fd()), nil, windows.PAGE_READONLY, 0, 0, nil)
- if err != nil {
+ if err != nil && err != windows.ERROR_ALREADY_EXISTS {
return err
}
rl, err := newRingloggerFromMappingHandle(mapping, "DMP", windows.FILE_MAP_READ)
diff --git a/ringlogger/ringlogger.go b/ringlogger/ringlogger.go
index 718a94b5..2d7c0c8f 100644
--- a/ringlogger/ringlogger.go
+++ b/ringlogger/ringlogger.go
@@ -58,7 +58,7 @@ func NewRinglogger(filename string, tag string) (*Ringlogger, error) {
return nil, err
}
mapping, err := windows.CreateFileMapping(windows.Handle(file.Fd()), nil, windows.PAGE_READWRITE, 0, 0, nil)
- if err != nil {
+ if err != nil && err != windows.ERROR_ALREADY_EXISTS {
return nil, err
}
rl, err := newRingloggerFromMappingHandle(mapping, tag, windows.FILE_MAP_WRITE)
@@ -237,7 +237,7 @@ func (rl *Ringlogger) Close() error {
func (rl *Ringlogger) ExportInheritableMappingHandle() (handleToClose windows.Handle, err error) {
handleToClose, err = windows.CreateFileMapping(windows.Handle(rl.file.Fd()), nil, windows.PAGE_READONLY, 0, 0, nil)
- if err != nil {
+ if err != nil && err != windows.ERROR_ALREADY_EXISTS {
return
}
err = windows.SetHandleInformation(handleToClose, windows.HANDLE_FLAG_INHERIT, windows.HANDLE_FLAG_INHERIT)