From 856f2a2dd3a6b1598a26c7e7eb97aeee0754afc3 Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Mon, 15 Aug 2016 21:19:15 +0800 Subject: [PATCH] Fix assert fail --- transport/internet/ws/stopablehttplistener.go | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/transport/internet/ws/stopablehttplistener.go b/transport/internet/ws/stopablehttplistener.go index 832b04e2..2523caed 100644 --- a/transport/internet/ws/stopablehttplistener.go +++ b/transport/internet/ws/stopablehttplistener.go @@ -3,23 +3,23 @@ package ws import ( "errors" "net" - "time" ) type StoppableListener struct { - *net.TCPListener //Wrapped listener - stop chan int //Channel used only to indicate listener should shutdown + net.Listener //Wrapped listener + stop chan int //Channel used only to indicate listener should shutdown } func NewStoppableListener(l net.Listener) (*StoppableListener, error) { - tcpL, ok := l.(*net.TCPListener) - - if !ok { - return nil, errors.New("Cannot wrap listener") - } + /* + tcpL, ok := l.(*net.TCPListener) + if !ok { + return nil, errors.New("Cannot wrap listener") + } + */ retval := &StoppableListener{} - retval.TCPListener = tcpL + retval.Listener = l retval.stop = make(chan int) return retval, nil @@ -30,10 +30,7 @@ var StoppedError = errors.New("Listener stopped") func (sl *StoppableListener) Accept() (net.Conn, error) { for { - //Wait up to one second for a new connection - sl.SetDeadline(time.Now().Add(time.Second)) - - newConn, err := sl.TCPListener.Accept() + newConn, err := sl.Listener.Accept() //Check for the channel being closed select {