diff options
author | Josh Bleecher Snyder <josh@tailscale.com> | 2021-01-25 09:35:35 -0800 |
---|---|---|
committer | Josh Bleecher Snyder <josh@tailscale.com> | 2021-01-25 09:38:09 -0800 |
commit | cecb41515d780213fd6b37bd04686f5296edf84c (patch) | |
tree | f4ac4a6f0f1566025aa9e246245ba2a16aa281d8 /device/uapi.go | |
parent | a9ce4b762cd8b9898ff69571194ad3f09ad6d7bd (diff) | |
download | wireguard-go-cecb41515d780213fd6b37bd04686f5296edf84c.tar.gz wireguard-go-cecb41515d780213fd6b37bd04686f5296edf84c.zip |
device: serialize access to IpcSetOperation
Interleaves IpcSetOperations would spell trouble.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
Diffstat (limited to 'device/uapi.go')
-rw-r--r-- | device/uapi.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/device/uapi.go b/device/uapi.go index bf38459..c1ddb38 100644 --- a/device/uapi.go +++ b/device/uapi.go @@ -121,6 +121,9 @@ func (device *Device) IpcGetOperation(w io.Writer) error { // IpcSetOperation implements the WireGuard configuration protocol "set" operation. // See https://www.wireguard.com/xplatform/#configuration-protocol for details. func (device *Device) IpcSetOperation(r io.Reader) (err error) { + device.ipcSetMu.Lock() + defer device.ipcSetMu.Unlock() + defer func() { if err != nil { device.log.Error.Println(err) |