From: Jason A. Donenfeld Date: Thu, 11 Mar 2021 16:29:10 +0000 (-0700) Subject: device: signal to close device in separate routine X-Git-Tag: 0.0.20210323~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5f0c8b942d93be6ac36a156c0ba44c86c3698f91;p=thirdparty%2Fwireguard-go.git device: signal to close device in separate routine Otherwise we wind up deadlocking. Signed-off-by: Jason A. Donenfeld --- diff --git a/device/send.go b/device/send.go index cb1607b..a437cf1 100644 --- a/device/send.go +++ b/device/send.go @@ -228,7 +228,7 @@ func (device *Device) RoutineReadFromTUN() { if err != nil { if !device.isClosed() { device.log.Errorf("Failed to read packet from TUN device: %v", err) - device.Close() + go device.Close() } device.PutMessageBuffer(elem.buffer) device.PutOutboundElement(elem)