@@ -1189,6 +1189,7 @@ func changeGroup(addr string, nameOrGid string) error {
11891189// ListenAndServe sets up the required http.Server and gets it listening for
11901190// each addr passed in and does protocol specific checking.
11911191func ListenAndServe (proto , addr string , job * engine.Job ) error {
1192+ var l net.Listener
11921193 r , err := createRouter (job .Eng , job .GetenvBool ("Logging" ), job .GetenvBool ("EnableCors" ), job .Getenv ("Version" ))
11931194 if err != nil {
11941195 return err
@@ -1204,7 +1205,11 @@ func ListenAndServe(proto, addr string, job *engine.Job) error {
12041205 }
12051206 }
12061207
1207- l , err := listenbuffer .NewListenBuffer (proto , addr , activationLock )
1208+ if job .GetenvBool ("BufferRequests" ) {
1209+ l , err = listenbuffer .NewListenBuffer (proto , addr , activationLock )
1210+ } else {
1211+ l , err = net .Listen (proto , addr )
1212+ }
12081213 if err != nil {
12091214 return err
12101215 }
@@ -1276,10 +1281,6 @@ func ServeApi(job *engine.Job) engine.Status {
12761281 )
12771282 activationLock = make (chan struct {})
12781283
1279- if err := job .Eng .Register ("acceptconnections" , AcceptConnections ); err != nil {
1280- return job .Error (err )
1281- }
1282-
12831284 for _ , protoAddr := range protoAddrs {
12841285 protoAddrParts := strings .SplitN (protoAddr , "://" , 2 )
12851286 if len (protoAddrParts ) != 2 {
@@ -1306,7 +1307,9 @@ func AcceptConnections(job *engine.Job) engine.Status {
13061307 go systemd .SdNotify ("READY=1" )
13071308
13081309 // close the lock so the listeners start accepting connections
1309- close (activationLock )
1310+ if activationLock != nil {
1311+ close (activationLock )
1312+ }
13101313
13111314 return engine .StatusOK
13121315}
0 commit comments