File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -268,15 +268,23 @@ func (s *server) runTcpEventLoop(newSession NewSessionCallback) {
268268}
269269
270270func (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
282290type 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
You can’t perform that action at this time.
0 commit comments