diff --git a/relay/cmd/main.go b/relay/cmd/main.go index 22dc025a8..dc39beaa5 100644 --- a/relay/cmd/main.go +++ b/relay/cmd/main.go @@ -166,11 +166,13 @@ func execute(cmd *cobra.Command, args []string) error { return fmt.Errorf("failed to create relay server: %v", err) } log.Infof("server will be available on: %s", srv.InstanceURL()) - err = srv.Listen(srvListenerCfg) - if err != nil { - return fmt.Errorf("failed to bind server: %s", err) - } + go func() { + if err := srv.Listen(srvListenerCfg); err != nil { + log.Errorf("failed to bind server: %s", err) + } + }() + // it will block until exit signal waitForExitSignal() err = srv.Close() diff --git a/relay/server/listener/ws/listener.go b/relay/server/listener/ws/listener.go index 51a578dc4..673a5e19a 100644 --- a/relay/server/listener/ws/listener.go +++ b/relay/server/listener/ws/listener.go @@ -38,7 +38,6 @@ func (l *Listener) Listen(acceptFn func(conn net.Conn)) error { var err error if l.TLSConfig != nil { err = l.server.ListenAndServeTLS("", "") - } else { err = l.server.ListenAndServe() }