From f524029d4830ddf5ab0dc22e970b7ae4465cff54 Mon Sep 17 00:00:00 2001 From: Evan Hazlett Date: Wed, 25 Mar 2015 18:10:54 -0700 Subject: [PATCH] virtualbox: add maximum retry for allocating a tcp port Signed-off-by: Evan Hazlett --- drivers/virtualbox/virtualbox.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/virtualbox/virtualbox.go b/drivers/virtualbox/virtualbox.go index 5ea8bf80..8a2abd34 100644 --- a/drivers/virtualbox/virtualbox.go +++ b/drivers/virtualbox/virtualbox.go @@ -629,7 +629,7 @@ func zeroFill(w io.Writer, n int64) error { func getAvailableTCPPort() (int, error) { port := 0 - for { + for i := 0; i <= 10; i++ { ln, err := net.Listen("tcp4", "127.0.0.1:0") if err != nil { return 0, err @@ -643,10 +643,10 @@ func getAvailableTCPPort() (int, error) { } if p != 0 { port = p - break + return port, nil } time.Sleep(1) } + return 0, fmt.Errorf("unable to allocate tcp port") - return port, nil }