diff --git a/server.go b/server.go index adc50ea3..f181ae95 100644 --- a/server.go +++ b/server.go @@ -394,7 +394,16 @@ func (s *Server) run() { continue } - ss.request <- req + select { + case ss.request <- req: + case <-ss.ctx.Done(): + req.res <- sessionRequestRes{ + res: &base.Response{ + StatusCode: base.StatusBadRequest, + }, + err: liberrors.ErrServerTerminated{}, + } + } } else { if !req.create { req.res <- sessionRequestRes{