mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-04 11:06:21 +00:00
shimv2: multi wait support for wait service
Support multi wait on one container/exec process. Fixes: #1131 Signed-off-by: fupan <lifupan@gmail.com>
This commit is contained in:
parent
3a2c0a6506
commit
5ba30fd628
@ -728,12 +728,20 @@ func (s *service) Wait(ctx context.Context, r *taskAPI.WaitRequest) (*taskAPI.Wa
|
||||
//wait for container
|
||||
if r.ExecID == "" {
|
||||
ret = <-c.exitCh
|
||||
|
||||
// refill the exitCh with the container process's exit code in case
|
||||
// there were other waits on this process.
|
||||
c.exitCh <- ret
|
||||
} else { //wait for exec
|
||||
execs, err := c.getExec(r.ExecID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
ret = <-execs.exitCh
|
||||
|
||||
// refill the exitCh with the exec process's exit code in case
|
||||
// there were other waits on this process.
|
||||
execs.exitCh <- ret
|
||||
}
|
||||
|
||||
return &taskAPI.WaitResponse{
|
||||
|
Loading…
Reference in New Issue
Block a user