isolate tcplistener

This commit is contained in:
Josh Baker 2016-08-22 11:11:30 -07:00
parent 869d600179
commit 0564b610bc
1 changed files with 3 additions and 2 deletions

View File

@ -113,8 +113,9 @@ func (s *Server) ListenServeAndSignal(signal chan error) error {
if signal != nil { if signal != nil {
signal <- nil signal <- nil
} }
tln := ln.(*net.TCPListener)
s.mu.Lock() s.mu.Lock()
s.ln = ln.(*net.TCPListener) s.ln = tln
s.mu.Unlock() s.mu.Unlock()
defer func() { defer func() {
ln.Close() ln.Close()
@ -131,7 +132,7 @@ func (s *Server) ListenServeAndSignal(signal chan error) error {
handler = func(conn Conn, cmds [][]string) {} handler = func(conn Conn, cmds [][]string) {}
} }
for { for {
tcpc, err := s.ln.AcceptTCP() tcpc, err := tln.AcceptTCP()
if err != nil { if err != nil {
s.mu.Lock() s.mu.Lock()
done := s.done done := s.done