File tree Expand file tree Collapse file tree 1 file changed +12
-8
lines changed
Expand file tree Collapse file tree 1 file changed +12
-8
lines changed Original file line number Diff line number Diff line change @@ -178,6 +178,11 @@ func (s *Server) ListenAndServe() error {
178178 return s .ListenServeAndSignal (nil )
179179}
180180
181+ // Addr returns server's listen address
182+ func (s * Server ) Addr () net.Addr {
183+ return s .ln .Addr ()
184+ }
185+
181186// Close stops listening on the TCP address.
182187// Already Accepted connections will be closed.
183188func (s * TLSServer ) Close () error {
@@ -247,10 +252,11 @@ func (s *Server) ListenServeAndSignal(signal chan error) error {
247252 }
248253 return err
249254 }
255+ s .ln = ln
250256 if signal != nil {
251257 signal <- nil
252258 }
253- return serve (s , ln )
259+ return serve (s )
254260}
255261
256262// ListenServeAndSignal serves incoming connections and passes nil or error
@@ -263,18 +269,16 @@ func (s *TLSServer) ListenServeAndSignal(signal chan error) error {
263269 }
264270 return err
265271 }
272+ s .ln = ln
266273 if signal != nil {
267274 signal <- nil
268275 }
269- return serve (s .Server , ln )
276+ return serve (s .Server )
270277}
271278
272- func serve (s * Server , ln net.Listener ) error {
273- s .mu .Lock ()
274- s .ln = ln
275- s .mu .Unlock ()
279+ func serve (s * Server ) error {
276280 defer func () {
277- ln .Close ()
281+ s . ln .Close ()
278282 func () {
279283 s .mu .Lock ()
280284 defer s .mu .Unlock ()
@@ -285,7 +289,7 @@ func serve(s *Server, ln net.Listener) error {
285289 }()
286290 }()
287291 for {
288- lnconn , err := ln .Accept ()
292+ lnconn , err := s . ln .Accept ()
289293 if err != nil {
290294 s .mu .Lock ()
291295 done := s .done
You can’t perform that action at this time.
0 commit comments