Skip to content

Commit fe594be

Browse files
authored
Merge pull request #36 from chinaerserver/master
Mod: remove useless return and make runUDPEventLoop run in goroutine
2 parents d927e3e + 0a0a806 commit fe594be

1 file changed

Lines changed: 16 additions & 9 deletions

File tree

transport/server.go

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -268,15 +268,23 @@ func (s *server) runTcpEventLoop(newSession NewSessionCallback) {
268268
}
269269

270270
func (s *server) runUDPEventLoop(newSession NewSessionCallback) {
271-
var (
272-
ss Session
273-
)
271+
s.wg.Add(1)
272+
go func() {
273+
defer s.wg.Done()
274+
var (
275+
err error
276+
conn *net.UDPConn
277+
ss Session
278+
)
274279

275-
ss = newUDPSession(s.pktListener.(*net.UDPConn), s)
276-
if err := newSession(ss); err != nil {
277-
panic(err.Error())
278-
}
279-
ss.(*session).run()
280+
conn = s.pktListener.(*net.UDPConn)
281+
ss = newUDPSession(conn, s)
282+
if err = newSession(ss); err != nil {
283+
conn.Close()
284+
panic(err.Error())
285+
}
286+
ss.(*session).run()
287+
}()
280288
}
281289

282290
type wsHandler struct {
@@ -384,7 +392,6 @@ func (s *server) runWSSEventLoop(newSession NewSessionCallback) {
384392
if certificate, err = tls.LoadX509KeyPair(s.cert, s.privateKey); err != nil {
385393
panic(fmt.Sprintf("tls.LoadX509KeyPair(cert{%s}, privateKey{%s}) = err{%s}",
386394
s.cert, s.privateKey, jerrors.ErrorStack(err)))
387-
return
388395
}
389396
config = &tls.Config{
390397
InsecureSkipVerify: true, // do not verify peer cert

0 commit comments

Comments
 (0)