]> Sergey Matveev's repositories - btrtrc.git/commitdiff
loghttp: Try successive port numbers until available
authorMatt Joiner <anacrolix@gmail.com>
Mon, 17 Nov 2014 05:24:25 +0000 (23:24 -0600)
committerMatt Joiner <anacrolix@gmail.com>
Mon, 17 Nov 2014 05:24:25 +0000 (23:24 -0600)
util/loghttp.go

index b63ad4e4674a5c5d10e9c3b88bf816f73f86d084..770353fe77758a90d29a6798f5881c0172080c71 100644 (file)
@@ -11,9 +11,16 @@ func LoggedHTTPServe(addr string) {
        if err != nil {
                log.Fatalf("error resolving http addr: %s", err)
        }
-       conn, err := net.ListenTCP("tcp", netAddr)
+       var conn net.Listener
+       for try := 0; try < 100; try++ {
+               conn, err = net.ListenTCP("tcp", netAddr)
+               if err == nil {
+                       break
+               }
+               netAddr.Port++
+       }
        if err != nil {
-               log.Fatalf("error creating http conn: %s", err)
+               log.Fatalf("error creating http conn: %#v", err)
        }
        log.Printf("starting http server on http://%s", conn.Addr())
        go func() {