summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-05-05 05:33:29 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2018-05-05 05:33:29 +0200
commit09a9bc289990e3f377a331626b0102283d6f83f4 (patch)
tree109a871092f78672e405a02e034c585d1882b8e0
parent34891d92cd36289294d38cd9f26f1fc2456ef26a (diff)
downloadwireguard-go-09a9bc289990e3f377a331626b0102283d6f83f4.tar.gz
wireguard-go-09a9bc289990e3f377a331626b0102283d6f83f4.zip
Fix infinite loop in exit routine
-rw-r--r--receive.go6
-rw-r--r--send.go3
2 files changed, 6 insertions, 3 deletions
diff --git a/receive.go b/receive.go
index 1d8b718..dc6488f 100644
--- a/receive.go
+++ b/receive.go
@@ -245,9 +245,10 @@ func (device *Device) RoutineDecryption() {
elem.Drop()
}
default:
- break
+ goto out
}
}
+ out:
logDebug.Println("Routine: decryption worker - stopped")
}()
logDebug.Println("Routine: decryption worker - started")
@@ -317,9 +318,10 @@ func (device *Device) RoutineHandshake() {
select {
case <-device.queue.handshake:
default:
- return
+ goto out
}
}
+ out:
logDebug.Println("Routine: handshake worker - stopped")
}()
diff --git a/send.go b/send.go
index 7423e3b..7abe211 100644
--- a/send.go
+++ b/send.go
@@ -281,9 +281,10 @@ func (device *Device) RoutineEncryption() {
elem.Drop()
}
default:
- break
+ goto out
}
}
+ out:
logDebug.Println("Routine: encryption worker - stopped")
}()