Merge pull request #1335 from wking/wont-never

oci: Copy-edits for waitContainerStop chControl comment
This commit is contained in:
Mrunal Patel 2018-02-14 18:01:02 -08:00 committed by GitHub
commit be23a54da4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -563,12 +563,12 @@ func (r *Runtime) UpdateContainer(c *Container, res *rspec.LinuxResources) error
func waitContainerStop(ctx context.Context, c *Container, timeout time.Duration) error { func waitContainerStop(ctx context.Context, c *Container, timeout time.Duration) error {
done := make(chan struct{}) done := make(chan struct{})
// we could potentially re-use "done" channel to exit the loop on timeout // we could potentially re-use "done" channel to exit the loop on timeout,
// but we use another channel "chControl" so that we won't never incur in the // but we use another channel "chControl" so that we never panic
// case the "done" channel is closed in the "default" select case and we also // attempting to close an already-closed "done" channel. The panic
// reach the timeout in the select below. If that happens we could raise // would occur in the "default" select case below if we'd closed the
// a panic closing a closed channel so better be safe and use another new // "done" channel (instead of the "chControl" channel) in the timeout
// channel just to control the loop. // select case.
chControl := make(chan struct{}) chControl := make(chan struct{})
go func() { go func() {
for { for {