1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-09-28 23:06:14 -04:00

Fix assert fail

This commit is contained in:
Shelikhoo 2016-08-15 21:19:15 +08:00
parent 4b9e506dba
commit 856f2a2dd3
No known key found for this signature in database
GPG Key ID: 7791BDB0709ABD21

View File

@ -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 {