Selaa lähdekoodia

auto update script executed

Toby Chui 1 vuosi sitten
vanhempi
commit
7187d47863
1 muutettua tiedostoa jossa 18 lisäystä ja 15 poistoa
  1. 18 15
      upnp.go

+ 18 - 15
upnp.go

@@ -17,12 +17,24 @@ var upnpEnabled = false
 var preforwardMap map[int]string
 
 func initUpnp() error {
-	var err error
-	upnpClient, err = upnp.NewUPNPClient()
-	if err != nil {
-		log.Println("UPnP router discover error: ", err.Error())
-		return err
-	}
+	go func() {
+		//Let UPnP discovery run in background
+		var err error
+		upnpClient, err = upnp.NewUPNPClient()
+		if err != nil {
+			log.Println("UPnP router discover error: ", err.Error())
+			return
+		}
+
+		if upnpEnabled {
+			//Forward all the ports
+			for port, policyName := range preforwardMap {
+				upnpClient.ForwardPort(port, policyName)
+				log.Println("Upnp forwarding ", port, " for "+policyName)
+				time.Sleep(300 * time.Millisecond)
+			}
+		}
+	}()
 
 	//Check if the upnp was enabled
 	sysdb.NewTable("upnp")
@@ -33,15 +45,6 @@ func initUpnp() error {
 	sysdb.Read("upnp", "portmap", &portsMap)
 	preforwardMap = portsMap
 
-	if upnpEnabled {
-		//Forward all the ports
-		for port, policyName := range preforwardMap {
-			upnpClient.ForwardPort(port, policyName)
-			log.Println("Upnp forwarding ", port, " for "+policyName)
-			time.Sleep(300 * time.Millisecond)
-		}
-	}
-
 	return nil
 }