diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp index fd0bd499e0..64b25cf026 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp @@ -346,13 +346,15 @@ Volume::Unmount() status_t error = _Unmount(); // free the memory associated with the vnode count map if (fVNodeCountMap) { - AutoLocker _(fVNodeCountMap); + AutoLocker locker(fVNodeCountMap); fVNodeCountingEnabled = false; for (VNodeCountMap::Iterator it = fVNodeCountMap->GetIterator(); it.HasNext();) { VNodeCountMap::Entry entry = it.Next(); delete entry.value; } + + locker.Detach(); delete fVNodeCountMap; fVNodeCountMap = NULL; }