]> git.ipfire.org Git - thirdparty/wireguard-go.git/commitdiff
device: simplify handling of IPC set endpoint
authorJosh Bleecher Snyder <josh@tailscale.com>
Mon, 25 Jan 2021 17:32:09 +0000 (09:32 -0800)
committerJosh Bleecher Snyder <josh@tailscale.com>
Mon, 25 Jan 2021 17:37:28 +0000 (09:37 -0800)
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
device/uapi.go

index 196b3593eee023addb9e727eed2287726596c62a..bf3845921b444b42abef6dcbb19f256f46a1d56b 100644 (file)
@@ -301,21 +301,13 @@ func (device *Device) handlePeerLine(peer *ipcSetPeer, key, value string) error
 
        case "endpoint":
                device.log.Debug.Println(peer, "- UAPI: Updating endpoint")
-
-               err := func() error {
-                       peer.Lock()
-                       defer peer.Unlock()
-                       endpoint, err := conn.CreateEndpoint(value)
-                       if err != nil {
-                               return err
-                       }
-                       peer.endpoint = endpoint
-                       return nil
-               }()
-
+               endpoint, err := conn.CreateEndpoint(value)
                if err != nil {
                        return ipcErrorf(ipc.IpcErrorInvalid, "failed to set endpoint %v: %w", value, err)
                }
+               peer.Lock()
+               defer peer.Unlock()
+               peer.endpoint = endpoint
 
        case "persistent_keepalive_interval":
                device.log.Debug.Println(peer, "- UAPI: Updating persistent keepalive interval")