Skip to content

Commit deb9b24

Browse files
committed
Clean up getFreePort
1 parent 9baafb2 commit deb9b24

File tree

1 file changed

+4
-11
lines changed

1 file changed

+4
-11
lines changed

database/postgres/postgres.go

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -96,20 +96,13 @@ func Open() (string, func(), error) {
9696

9797
// getFreePort asks the kernel for a free open port that is ready to use.
9898
func getFreePort() (port int, err error) {
99-
var address *net.TCPAddr
10099
// Binding to port 0 tells the OS to grab a port for us:
101100
// https://stackoverflow.com/questions/1365265/on-localhost-how-do-i-pick-a-free-port-number
102-
if address, err = net.ResolveTCPAddr("tcp", "localhost:0"); err == nil {
103-
var listener *net.TCPListener
104-
105-
// So once we've opened a port - we know it's free!
106-
if listener, err = net.ListenTCP("tcp", address); err == nil {
107-
defer listener.Close()
108-
return listener.Addr().(*net.TCPAddr).Port, nil
109-
}
110-
101+
listener, err := net.Listen("tcp", "localhost:0")
102+
if err != nil {
111103
return 0, err
112104
}
113105

114-
return 0, err
106+
defer listener.Close()
107+
return listener.Addr().(*net.TCPAddr).Port, nil
115108
}

0 commit comments

Comments
 (0)