@@ -418,34 +418,35 @@ func (cm *controllerManager) serveMetrics() {
418
418
}
419
419
420
420
func (cm * controllerManager ) serveHealthProbes () {
421
- // TODO(hypnoglow): refactor locking to use anonymous func in the similar way
422
- // it's done in serveMetrics.
423
- cm .mu .Lock ()
424
421
mux := http .NewServeMux ()
425
-
426
- if cm .readyzHandler != nil {
427
- mux .Handle (cm .readinessEndpointName , http .StripPrefix (cm .readinessEndpointName , cm .readyzHandler ))
428
- // Append '/' suffix to handle subpaths
429
- mux .Handle (cm .readinessEndpointName + "/" , http .StripPrefix (cm .readinessEndpointName , cm .readyzHandler ))
430
- }
431
- if cm .healthzHandler != nil {
432
- mux .Handle (cm .livenessEndpointName , http .StripPrefix (cm .livenessEndpointName , cm .healthzHandler ))
433
- // Append '/' suffix to handle subpaths
434
- mux .Handle (cm .livenessEndpointName + "/" , http .StripPrefix (cm .livenessEndpointName , cm .healthzHandler ))
435
- }
436
-
437
422
server := http.Server {
438
423
Handler : mux ,
439
424
}
440
- // Run server
441
- cm .startRunnable (RunnableFunc (func (_ context.Context ) error {
442
- if err := server .Serve (cm .healthProbeListener ); err != nil && err != http .ErrServerClosed {
443
- return err
425
+
426
+ func () {
427
+ cm .mu .Lock ()
428
+ defer cm .mu .Unlock ()
429
+
430
+ if cm .readyzHandler != nil {
431
+ mux .Handle (cm .readinessEndpointName , http .StripPrefix (cm .readinessEndpointName , cm .readyzHandler ))
432
+ // Append '/' suffix to handle subpaths
433
+ mux .Handle (cm .readinessEndpointName + "/" , http .StripPrefix (cm .readinessEndpointName , cm .readyzHandler ))
444
434
}
445
- return nil
446
- }))
447
- cm .healthzStarted = true
448
- cm .mu .Unlock ()
435
+ if cm .healthzHandler != nil {
436
+ mux .Handle (cm .livenessEndpointName , http .StripPrefix (cm .livenessEndpointName , cm .healthzHandler ))
437
+ // Append '/' suffix to handle subpaths
438
+ mux .Handle (cm .livenessEndpointName + "/" , http .StripPrefix (cm .livenessEndpointName , cm .healthzHandler ))
439
+ }
440
+
441
+ // Run server
442
+ cm .startRunnable (RunnableFunc (func (_ context.Context ) error {
443
+ if err := server .Serve (cm .healthProbeListener ); err != nil && err != http .ErrServerClosed {
444
+ return err
445
+ }
446
+ return nil
447
+ }))
448
+ cm .healthzStarted = true
449
+ }()
449
450
450
451
// Shutdown the server when stop is closed
451
452
<- cm .internalProceduresStop
0 commit comments