Merge pull request #11967 from LK4D4/fix_panic
Avoid ServeApi race condition Upstream-commit: 596ddef7d73273103a7b900fa46d4392e1d3e27b Component: engine
This commit is contained in:
@ -32,7 +32,7 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
activationLock chan struct{}
|
||||
activationLock chan struct{} = make(chan struct{})
|
||||
)
|
||||
|
||||
type HttpServer struct {
|
||||
@ -1445,7 +1445,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)
|
||||
|
||||
@ -82,7 +82,9 @@ func AcceptConnections(job *engine.Job) error {
|
||||
// Tell the init daemon we are accepting requests
|
||||
go systemd.SdNotify("READY=1")
|
||||
// close the lock so the listeners start accepting connections
|
||||
if activationLock != nil {
|
||||
select {
|
||||
case <-activationLock:
|
||||
default:
|
||||
close(activationLock)
|
||||
}
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user