Avoid ServeApi race condition

If job "acceptconnections" is called before "serveapi" the API Accept()
method will hang forever waiting for activation.  This is due to the fact
that when "acceptconnections" ran the activation channel was nil.

Signed-off-by: Darren Shepherd <darren@rancher.com>
This commit is contained in:
Darren Shepherd 2015-03-30 17:39:43 -07:00
parent fe9f3227b1
commit 8f6a14452d

View file

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