From 55c8b69d8f80b31c5748c1bd50c812aaa0e6c1c7 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Sun, 3 Dec 2017 08:25:16 -0500 Subject: When shutting down the runtime we should always close the database Even if the storage fails to shutdown. This patch fixes on TODO. Signed-off-by: Daniel J Walsh Closes: #97 Approved by: mheon --- libpod/runtime.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'libpod') diff --git a/libpod/runtime.go b/libpod/runtime.go index 4a45bf008..b86e06546 100644 --- a/libpod/runtime.go +++ b/libpod/runtime.go @@ -225,11 +225,16 @@ func (r *Runtime) Shutdown(force bool) error { } } - _, err := r.store.Shutdown(force) - if err != nil { - return err + var lastError error + if _, err := r.store.Shutdown(force); err != nil { + lastError = errors.Wrapf(err, "Error shutting down container storage") + } + if err := r.state.Close(); err != nil { + if lastError != nil { + logrus.Errorf("%v", lastError) + } + lastError = err } - // TODO: Should always call this even if store.Shutdown failed - return r.state.Close() + return lastError } -- cgit v1.2.3-54-g00ecf