server: fix freeze caused by race condition

it happened when the server tried to send a request to a session that
is being closed.
This commit is contained in:
aler9
2022-08-04 18:57:38 +02:00
parent ab19ae5f76
commit 8883050f63

View File

@@ -394,7 +394,16 @@ func (s *Server) run() {
continue 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 { } else {
if !req.create { if !req.create {
req.res <- sessionRequestRes{ req.res <- sessionRequestRes{