Write back resolved port to options.

This commit is contained in:
Alex Toombs
2014-06-06 16:05:37 -07:00
parent 8014866791
commit ae0e8e5f53
2 changed files with 18 additions and 0 deletions

View File

@@ -274,6 +274,19 @@ func (s *Server) AcceptLoop() {
s.listener = l
s.mu.Unlock()
// Write resolved port back to options.
_, port, err := net.SplitHostPort(l.Addr().String())
if err != nil {
Fatalf("Error parsing server address (%s): %s", l.Addr().String(), e)
return
}
portNum, err := strconv.Atoi(port)
if err != nil {
Fatalf("Error parsing server address (%s): %s", l.Addr().String(), e)
return
}
s.opts.Port = portNum
tmpDelay := ACCEPT_MIN_SLEEP
for s.isRunning() {

View File

@@ -33,4 +33,9 @@ func TestResolveRandomPort(t *testing.T) {
if portNum == server.RANDOM_PORT {
t.Fatalf("Expected server to choose a random port\nGot: %d", server.RANDOM_PORT)
}
if opts.Port != portNum {
t.Fatalf("Options port (%d) should have been overridden by chosen random port (%d)",
opts.Port, portNum)
}
}