bug: controller-manager's os.Exit will not wait for the defer function
Signed-off-by: kerthcet <kerthcet@gmail.com>
This commit is contained in:
parent
85554ff187
commit
98842ed756
|
@ -1,7 +1,6 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
// Note that Kubernetes registers workqueue metrics to default prometheus Registry. And the registry will be
|
// Note that Kubernetes registers workqueue metrics to default prometheus Registry. And the registry will be
|
||||||
|
@ -21,15 +20,20 @@ import (
|
||||||
"github.com/karmada-io/karmada/cmd/controller-manager/app"
|
"github.com/karmada-io/karmada/cmd/controller-manager/app"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Controller-manager main.
|
|
||||||
func main() {
|
func main() {
|
||||||
|
if err := runControllerManagerCmd(); err != nil {
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func runControllerManagerCmd() error {
|
||||||
logs.InitLogs()
|
logs.InitLogs()
|
||||||
defer logs.FlushLogs()
|
defer logs.FlushLogs()
|
||||||
|
|
||||||
ctx := apiserver.SetupSignalContext()
|
ctx := apiserver.SetupSignalContext()
|
||||||
|
|
||||||
if err := app.NewControllerManagerCommand(ctx).Execute(); err != nil {
|
if err := app.NewControllerManagerCommand(ctx).Execute(); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "%v\n", err)
|
return err
|
||||||
os.Exit(1)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue