summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2017-09-26 15:24:18 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2017-09-26 15:24:18 +0200
commit32d8932d1b29effa42fe56822988d3888c496873 (patch)
treef80baac43133724a9e9eb91c3dd95c9b56c5ca41
parent6fa65bded45957434db08e5d33fe82a04af73a59 (diff)
Sleep to close fd
-rw-r--r--src/conn.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/conn.go b/src/conn.go
index 41a5b85..2cf588d 100644
--- a/src/conn.go
+++ b/src/conn.go
@@ -3,6 +3,7 @@ package main
import (
"errors"
"net"
+ "time"
)
func parseEndpoint(s string) (*net.UDPAddr, error) {
@@ -36,6 +37,10 @@ func updateUDPConn(device *Device) error {
if netc.conn != nil {
netc.conn.Close()
netc.conn = nil
+
+ // We need for that fd to be closed in all other go routines, which
+ // means we have to wait. TODO: find less horrible way of doing this.
+ time.Sleep(time.Second / 2)
}
// open new connection