1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #11967 from LK4D4/fix_panic

Avoid ServeApi race condition
This commit is contained in:
Jessie Frazelle 2015-03-31 16:37:32 -07:00
commit 596ddef7d7
2 changed files with 4 additions and 3 deletions

View file

@ -32,7 +32,7 @@ import (
) )
var ( var (
activationLock chan struct{} activationLock chan struct{} = make(chan struct{})
) )
type HttpServer struct { type HttpServer struct {
@ -1445,7 +1445,6 @@ func ServeApi(job *engine.Job) error {
protoAddrs = job.Args protoAddrs = job.Args
chErrors = make(chan error, len(protoAddrs)) chErrors = make(chan error, len(protoAddrs))
) )
activationLock = make(chan struct{})
for _, protoAddr := range protoAddrs { for _, protoAddr := range protoAddrs {
protoAddrParts := strings.SplitN(protoAddr, "://", 2) protoAddrParts := strings.SplitN(protoAddr, "://", 2)

View file

@ -82,7 +82,9 @@ func AcceptConnections(job *engine.Job) error {
// Tell the init daemon we are accepting requests // Tell the init daemon we are accepting requests
go systemd.SdNotify("READY=1") go systemd.SdNotify("READY=1")
// close the lock so the listeners start accepting connections // close the lock so the listeners start accepting connections
if activationLock != nil { select {
case <-activationLock:
default:
close(activationLock) close(activationLock)
} }
return nil return nil