summaryrefslogtreecommitdiffhomepage
path: root/pkg/shim
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/shim')
-rw-r--r--pkg/shim/runsc/runsc.go6
-rw-r--r--pkg/shim/service.go18
2 files changed, 19 insertions, 5 deletions
diff --git a/pkg/shim/runsc/runsc.go b/pkg/shim/runsc/runsc.go
index e1d616d6f..3c4cbf223 100644
--- a/pkg/shim/runsc/runsc.go
+++ b/pkg/shim/runsc/runsc.go
@@ -169,14 +169,14 @@ func (r *Runsc) Create(context context.Context, id, bundle string, opts *CreateO
func (r *Runsc) Pause(context context.Context, id string) error {
if _, err := cmdOutput(r.command(context, "pause", id), true); err != nil {
- return fmt.Errorf("unable to pause: %s", err)
+ return fmt.Errorf("unable to pause: %w", err)
}
return nil
}
func (r *Runsc) Resume(context context.Context, id string) error {
- if _, err := cmdOutput(r.command(context, "pause", id), true); err != nil {
- return fmt.Errorf("unable to resume: %s", err)
+ if _, err := cmdOutput(r.command(context, "resume", id), true); err != nil {
+ return fmt.Errorf("unable to resume: %w", err)
}
return nil
}
diff --git a/pkg/shim/service.go b/pkg/shim/service.go
index 844210abb..eff55df53 100644
--- a/pkg/shim/service.go
+++ b/pkg/shim/service.go
@@ -612,15 +612,29 @@ func (s *service) State(ctx context.Context, r *taskAPI.StateRequest) (*taskAPI.
// Pause the container.
func (s *service) Pause(ctx context.Context, r *taskAPI.PauseRequest) (*types.Empty, error) {
log.L.Debugf("Pause, id: %s", r.ID)
+ if s.task == nil {
+ log.L.Debugf("Pause error, id: %s: container not created", r.ID)
+ return nil, errdefs.ToGRPCf(errdefs.ErrFailedPrecondition, "container must be created")
+ }
err := s.task.Runtime().Pause(ctx, r.ID)
- return empty, err
+ if err != nil {
+ return nil, err
+ }
+ return empty, nil
}
// Resume the container.
func (s *service) Resume(ctx context.Context, r *taskAPI.ResumeRequest) (*types.Empty, error) {
log.L.Debugf("Resume, id: %s", r.ID)
+ if s.task == nil {
+ log.L.Debugf("Resume error, id: %s: container not created", r.ID)
+ return nil, errdefs.ToGRPCf(errdefs.ErrFailedPrecondition, "container must be created")
+ }
err := s.task.Runtime().Resume(ctx, r.ID)
- return empty, err
+ if err != nil {
+ return nil, err
+ }
+ return empty, nil
}
// Kill a process with the provided signal.