Hold shim lock during state
Helps with #1935 This hold the shim lock during the state call to make sure that the task does not get deleted during a state call. Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
parent
8b6909f22f
commit
2b29a92a64
@ -235,8 +235,8 @@ func (s *Service) ResizePty(ctx context.Context, r *shimapi.ResizePtyRequest) (*
|
|||||||
// State returns runtime state information for a process
|
// State returns runtime state information for a process
|
||||||
func (s *Service) State(ctx context.Context, r *shimapi.StateRequest) (*shimapi.StateResponse, error) {
|
func (s *Service) State(ctx context.Context, r *shimapi.StateRequest) (*shimapi.StateResponse, error) {
|
||||||
s.mu.Lock()
|
s.mu.Lock()
|
||||||
|
defer s.mu.Unlock()
|
||||||
p := s.processes[r.ID]
|
p := s.processes[r.ID]
|
||||||
s.mu.Unlock()
|
|
||||||
if p == nil {
|
if p == nil {
|
||||||
return nil, errdefs.ToGRPCf(errdefs.ErrNotFound, "process id %s not found", r.ID)
|
return nil, errdefs.ToGRPCf(errdefs.ErrNotFound, "process id %s not found", r.ID)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user