@@ -164,22 +164,27 @@ func RunHTTPServer(ctx context.Context, ctxCanceler func(), address, locality st
164164 versioningV1Server = & versioning.Server {}
165165 )
166166
167+ ctx , ctxCancel := context .WithCancel (ctx )
168+
167169 // Initialize aux
168170 auxV1Server , err = createAuxServer (ctx , locality , * publicEndpoint , * scdGlobalLock , logger )
169171 if err != nil {
172+ ctxCancel ()
170173 return stacktrace .Propagate (err , "Failed to create aux server" )
171174 }
172175
173176 // Initialize remote ID
174177 ridV1Server , ridV2Server , err = createRIDServers (ctx , locality , logger )
175178 if err != nil {
179+ ctxCancel ()
176180 return stacktrace .Propagate (err , "Failed to create remote ID server" )
177181 }
178182
179183 // Initialize access token validation
180184 keyResolver , err := createKeyResolver ()
181185 switch {
182186 case err != nil :
187+ ctxCancel ()
183188 return stacktrace .Propagate (err , "Error creating RSA authorizer" )
184189 case keyResolver == nil :
185190 logger .Warn ("operating without authorizing interceptor" )
@@ -193,6 +198,7 @@ func RunHTTPServer(ctx context.Context, ctxCanceler func(), address, locality st
193198 },
194199 )
195200 if err != nil {
201+ ctxCancel ()
196202 return stacktrace .Propagate (err , "Error creating RSA authorizer" )
197203 }
198204
@@ -212,6 +218,7 @@ func RunHTTPServer(ctx context.Context, ctxCanceler func(), address, locality st
212218 if * enableSCD {
213219 scdV1Server , err = createSCDServer (ctx , logger )
214220 if err != nil {
221+ ctxCancel ()
215222 return stacktrace .Propagate (err , "Failed to create strategic conflict detection server" )
216223 }
217224
@@ -265,11 +272,13 @@ func RunHTTPServer(ctx context.Context, ctxCanceler func(), address, locality st
265272 // Indicate ready for container health checks
266273 readyFile , err := os .Create ("service.ready" )
267274 if err != nil {
275+ ctxCancel ()
268276 return stacktrace .Propagate (err , "Error touching file to indicate service ready" )
269277 }
270278
271279 err = readyFile .Close ()
272280 if err != nil {
281+ ctxCancel ()
273282 return stacktrace .Propagate (err , "Error closing touched file to indicate service ready" )
274283 }
275284
0 commit comments