server: return 'terminated' error when server is terminated with Close()

This commit is contained in:
aler9
2021-10-30 13:30:07 +02:00
parent 653b3ee993
commit 3bb5c2f12c

View File

@@ -343,12 +343,11 @@ func (s *Server) run() {
} }
}() }()
outer: s.exitError = func() error {
for { for {
select { select {
case err := <-acceptErr: case err := <-acceptErr:
s.exitError = err return err
break outer
case nconn := <-connNew: case nconn := <-connNew:
sc := newServerConn(s, nconn) sc := newServerConn(s, nconn)
@@ -435,9 +434,10 @@ outer:
req.res <- ip req.res <- ip
case <-s.ctx.Done(): case <-s.ctx.Done():
break outer return liberrors.ErrServerTerminated{}
} }
} }
}()
s.ctxCancel() s.ctxCancel()