Skip to content

Commit 56b0161

Browse files
committed
Merge branch 'iwanbk-listen-address'
2 parents b6e65d4 + 75d62f9 commit 56b0161

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

redcon.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff 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.
183188
func (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

0 commit comments

Comments
 (0)