Skip to content

Commit e523e57

Browse files
committed
ipn/wg: perform Device reset iff swap race is won
1 parent 020d98e commit e523e57

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

intra/ipn/wgproxy.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,11 +336,11 @@ func (w *wgproxy) Refresh() (err error) {
336336

337337
if err = w.resetMtu(via); err == nil {
338338
err = w.Device.Down()
339+
resetDevice = resetDevice && w.wgtun.ignoreTUNClose.CompareAndSwap(false, true)
339340
if resetDevice && err == nil {
340341
var newdev *device.Device
341342
const useExistingCfg = ""
342343
if newdev, err = newdevice(w.wgtun, w.wgep, useExistingCfg); err == nil {
343-
w.wgtun.ignoreTUNClose.CompareAndSwap(false, true)
344344
w.Device.Close() // will end up calling wgtun.Close() which hopefully is ignored
345345
w.Device = newdev
346346
} // newdevice calls w.Device.Up() internally

0 commit comments

Comments
 (0)