From bd2cfe0a9336b01122de851c528ad7f3e521af78 Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Mon, 7 Dec 2020 10:00:36 -0500 Subject: Do not error on installing duplicate shutdown handler Installing a duplicate shutdown handler fails, but if a handler with the same name is already present, we should be set to go. There's no reason to print a user-facing error about it. This comes up almost nowhere because Podman never makes more than one Libpod runtime, but there is one exception (`system reset`) and the error messages, while harmless, were making people very confused (we got several bug reports that `system reset` was nonfunctional). Signed-off-by: Matthew Heon --- libpod/shutdown/handler.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libpod/shutdown') diff --git a/libpod/shutdown/handler.go b/libpod/shutdown/handler.go index 87538dec9..f0f228b19 100644 --- a/libpod/shutdown/handler.go +++ b/libpod/shutdown/handler.go @@ -10,6 +10,10 @@ import ( "github.com/sirupsen/logrus" ) +var ( + ErrHandlerExists error = errors.New("handler with given name already exists") +) + var ( stopped bool sigChan chan os.Signal @@ -98,7 +102,7 @@ func Register(name string, handler func(os.Signal) error) error { } if _, ok := handlers[name]; ok { - return errors.Errorf("handler with name %s already exists", name) + return ErrHandlerExists } handlers[name] = handler -- cgit v1.2.3-54-g00ecf