From: Josh Bleecher Snyder Date: Tue, 19 Jan 2021 19:10:05 +0000 (-0800) Subject: device: remove device.state.stopping from RoutineDecryption X-Git-Tag: 0.0.20210212~41 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=84a42aed63c1bb2c6de0774dc568ab1c77a22b33;p=thirdparty%2Fwireguard-go.git device: remove device.state.stopping from RoutineDecryption It is no longer necessary, as of 454de6f3e64abd2a7bf9201579cd92eea5280996 (device: use channel close to shut down and drain decryption channel). Signed-off-by: Josh Bleecher Snyder --- diff --git a/device/device.go b/device/device.go index d860ed3..a7838b5 100644 --- a/device/device.go +++ b/device/device.go @@ -340,9 +340,9 @@ func NewDevice(tunDevice tun.Device, logger *Logger) *Device { cpus := runtime.NumCPU() device.state.stopping.Wait() for i := 0; i < cpus; i++ { - device.state.stopping.Add(2) // decryption and handshake go device.RoutineEncryption() go device.RoutineDecryption() + device.state.stopping.Add(1) // handshake go device.RoutineHandshake() } diff --git a/device/receive.go b/device/receive.go index 0b70137..3b0f36c 100644 --- a/device/receive.go +++ b/device/receive.go @@ -210,10 +210,8 @@ func (device *Device) RoutineReceiveIncoming(IP int, bind conn.Bind) { func (device *Device) RoutineDecryption() { var nonce [chacha20poly1305.NonceSize]byte - defer func() { - device.log.Verbosef("Routine: decryption worker - stopped") - device.state.stopping.Done() - }() + + defer device.log.Verbosef("Routine: decryption worker - stopped") device.log.Verbosef("Routine: decryption worker - started") for elem := range device.queue.decryption.c {