From: Matt Joiner Date: Mon, 17 Nov 2014 05:24:25 +0000 (-0600) Subject: loghttp: Try successive port numbers until available X-Git-Tag: v1.0.0~1532 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=32d31188fbf8a06db46002d5d01acd93bf974de7;p=btrtrc.git loghttp: Try successive port numbers until available --- diff --git a/util/loghttp.go b/util/loghttp.go index b63ad4e4..770353fe 100644 --- a/util/loghttp.go +++ b/util/loghttp.go @@ -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() {