summaryrefslogtreecommitdiff
path: root/libpod/lock/in_memory_locks.go
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@pm.me>2019-02-18 16:20:02 -0500
committerMatthew Heon <matthew.heon@pm.me>2019-02-21 10:51:42 -0500
commitd2b77f8b3397b3ffbbade6e04e37b291105028aa (patch)
tree40d0e6423be80a66e5ea848a89fe23d4fda90d5e /libpod/lock/in_memory_locks.go
parente0a6873d78be969a50a1939f52c81264b9547ac0 (diff)
downloadpodman-d2b77f8b3397b3ffbbade6e04e37b291105028aa.tar.gz
podman-d2b77f8b3397b3ffbbade6e04e37b291105028aa.tar.bz2
podman-d2b77f8b3397b3ffbbade6e04e37b291105028aa.zip
Do not make renumber shut down the runtime
The original intent behind the requirement was to ensure that, if two SHM lock structs were open at the same time, we should not make such a runtime available to the user, and should clean it up instead. It turns out that we don't even need to open a second SHM lock struct - if we get an error mapping the first one due to a lock count mismatch, we can just delete it, and it cleans itself up when it errors. So there's no reason not to return a valid runtime. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Diffstat (limited to 'libpod/lock/in_memory_locks.go')
-rw-r--r--libpod/lock/in_memory_locks.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/libpod/lock/in_memory_locks.go b/libpod/lock/in_memory_locks.go
index 7eb22328f..7c9605917 100644
--- a/libpod/lock/in_memory_locks.go
+++ b/libpod/lock/in_memory_locks.go
@@ -90,7 +90,9 @@ func (m *InMemoryManager) RetrieveLock(id uint32) (Locker, error) {
return m.locks[id], nil
}
-// FreeAllLocks frees all locks
+// FreeAllLocks frees all locks.
+// This function is DANGEROUS. Please read the full comment in locks.go before
+// trying to use it.
func (m *InMemoryManager) FreeAllLocks() error {
for _, lock := range m.locks {
lock.allocated = false