Revert "libpod: remove shutdown.Unregister()"

This reverts commit 5de7b7c3f3.

We now require the Unregister shutdown handler function for
handling unmounting named volumes after `podman cp` into a
stopped container.

Signed-off-by: Matt Heon <mheon@redhat.com>
This commit is contained in:
Matt Heon 2024-11-25 10:05:12 -05:00
parent ceee7cb0a6
commit 44b0c24ca5
1 changed files with 26 additions and 0 deletions

View File

@ -140,3 +140,29 @@ func Register(name string, handler func(os.Signal) error) error {
return nil
}
// Unregister un-registers a given shutdown handler.
func Unregister(name string) error {
handlerLock.Lock()
defer handlerLock.Unlock()
if handlers == nil {
return nil
}
if _, ok := handlers[name]; !ok {
return nil
}
delete(handlers, name)
newOrder := []string{}
for _, checkName := range handlerOrder {
if checkName != name {
newOrder = append(newOrder, checkName)
}
}
handlerOrder = newOrder
return nil
}