Skip to content

Commit 8ad1962

Browse files
committed
Implement error checking on listeners
Signed-off-by: Vasyl Gello <[email protected]>
1 parent 83bc9a2 commit 8ad1962

File tree

1 file changed

+26
-7
lines changed

1 file changed

+26
-7
lines changed

cmd/yggstack/main.go

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ type node struct {
3939
core *core.Core
4040
multicast *multicast.Multicast
4141
admin *admin.AdminSocket
42-
socks5Listener net.Listener
42+
socks5Tcp net.Listener
43+
socks5Unix net.Listener
4344
}
4445

4546
type UDPSession struct {
@@ -306,10 +307,19 @@ func main() {
306307
server := socks5.NewServer(socksOptions...)
307308
if strings.Contains(*socks, ":") {
308309
logger.Infof("Starting SOCKS server on %s", *socks)
309-
go server.ListenAndServe("tcp", *socks) // nolint:errcheck
310+
n.socks5Tcp, err = net.Listen("tcp", *socks)
311+
if err != nil {
312+
panic(err)
313+
}
314+
go func() {
315+
err := server.Serve(n.socks5Tcp)
316+
if err != nil {
317+
panic(err)
318+
}
319+
}()
310320
} else {
311321
logger.Infof("Starting SOCKS server with socket file %s", *socks)
312-
n.socks5Listener, err = net.Listen("unix", *socks)
322+
n.socks5Unix, err = net.Listen("unix", *socks)
313323
if err != nil {
314324
// If address in use, try connecting to
315325
// the socket to see if other yggstack
@@ -330,7 +340,12 @@ func main() {
330340
panic(err)
331341
}
332342
}
333-
go server.Serve(n.socks5Listener) // nolint:errcheck
343+
go func() {
344+
err := server.Serve(n.socks5Unix)
345+
if err != nil {
346+
panic(err)
347+
}
348+
}()
334349
}
335350
}
336351
}
@@ -519,10 +534,14 @@ func main() {
519534
// Shut down the node.
520535
_ = n.admin.Stop()
521536
_ = n.multicast.Stop()
522-
if n.socks5Listener != nil {
523-
_ = n.socks5Listener.Close()
537+
if n.socks5Unix != nil {
538+
_ = n.socks5Unix.Close()
524539
_ = os.RemoveAll(*socks)
525-
logger.Infof("Stopped UNIX socket listener")
540+
logger.Infof("Stopped SOCKS5 UNIX socket listener")
541+
}
542+
if n.socks5Tcp != nil {
543+
_ = n.socks5Tcp.Close()
544+
logger.Infof("Stopped SOCKS5 TCP listener")
526545
}
527546
n.core.Stop()
528547
}

0 commit comments

Comments
 (0)