aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--forged/internal/server/server.go32
1 files changed, 28 insertions, 4 deletions
diff --git a/forged/internal/server/server.go b/forged/internal/server/server.go
index 0b14e62..867e54f 100644
--- a/forged/internal/server/server.go
+++ b/forged/internal/server/server.go
@@ -63,22 +63,46 @@ func (server *Server) Run(ctx context.Context) (err error) {
go func() {
err := server.hookServer.Run(subCtx)
- errCh <- err
+ if err == nil {
+ panic("hook server should never return nil error")
+ }
+ select {
+ case errCh <- err:
+ default:
+ }
}()
go func() {
err := server.lmtpServer.Run(subCtx)
- errCh <- err
+ if err == nil {
+ panic("lmtp server should never return nil error")
+ }
+ select {
+ case errCh <- err:
+ default:
+ }
}()
go func() {
err := server.webServer.Run(subCtx)
- errCh <- err
+ if err == nil {
+ panic("web server should never return nil error")
+ }
+ select {
+ case errCh <- err:
+ default:
+ }
}()
go func() {
err := server.sshServer.Run(subCtx)
- errCh <- err
+ if err == nil {
+ panic("ssh server should never return nil error")
+ }
+ select {
+ case errCh <- err:
+ default:
+ }
}()
select {