[PATCH] device: make locks more efficient

liuhaichao at bytedance.com liuhaichao at bytedance.com
Wed Jul 31 04:57:35 CEST 2019


From: liuhaichao <liuhaichao at bytedance.com>

Change-Id: I515c38e9911d4baeb4c2a45249c18a371864f8e1
---
 device/uapi.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/device/uapi.go b/device/uapi.go
index 99cb421..c8499e2 100644
--- a/device/uapi.go
+++ b/device/uapi.go
@@ -283,12 +283,12 @@ func (device *Device) IpcSetOperation(socket *bufio.Reader) *IPCError {
 				logDebug.Println(peer, "- UAPI: Updating endpoint")
 
 				err := func() error {
-					peer.Lock()
-					defer peer.Unlock()
 					endpoint, err := CreateEndpoint(value)
 					if err != nil {
 						return err
 					}
+					peer.Lock()
+					defer peer.Unlock()
 					peer.endpoint = endpoint
 					return nil
 				}()
-- 
2.19.1



More information about the WireGuard mailing list