daemon/wait.go
e2acca67
 package daemon
 
534a90a9
 import (
 	"time"
 
 	"golang.org/x/net/context"
 )
e2acca67
 
abd72d40
 // ContainerWait stops processing until the given container is
 // stopped. If the container is not found, an error is returned. On a
 // successful stop, the exit code of the container is returned. On a
 // timeout, an error is returned. If you want to wait forever, supply
 // a negative duration for the timeout.
b08f071e
 func (daemon *Daemon) ContainerWait(name string, timeout time.Duration) (int, error) {
d7d512bb
 	container, err := daemon.GetContainer(name)
e2acca67
 	if err != nil {
 		return -1, err
 	}
 
 	return container.WaitStop(timeout)
 }
534a90a9
 
 // ContainerWaitWithContext returns a channel where exit code is sent
 // when container stops. Channel can be cancelled with a context.
dcfe9927
 func (daemon *Daemon) ContainerWaitWithContext(ctx context.Context, name string) error {
534a90a9
 	container, err := daemon.GetContainer(name)
 	if err != nil {
dcfe9927
 		return err
534a90a9
 	}
 
dcfe9927
 	return container.WaitWithContext(ctx)
534a90a9
 }