From 60d85b7e9fe14eeff84053cc1585ca45eaa3f1ab Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Thu, 23 Nov 2006 08:33:45 +0000 Subject: don't have a global variable to hold locks, otherwise code can't lock twice non-exclusive --- urpmi | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'urpmi') diff --git a/urpmi b/urpmi index 40916d4e..767de487 100755 --- a/urpmi +++ b/urpmi @@ -334,9 +334,10 @@ if (exists $urpm->{options}{'priority-upgrade'} && $urpm->{options}{'priority-up unlink glob('/var/lib/rpm/__db.*') unless $root; } +my ($rpm_lock, $urpmi_lock); unless ($env || $nolock) { - urpm::sys::lock_rpm_db($urpm, 'exclusive'); - urpm::sys::lock_urpmi_db($urpm); + $rpm_lock = urpm::sys::lock_rpm_db($urpm, 'exclusive'); + $urpmi_lock = urpm::sys::lock_urpmi_db($urpm); } #- should we ignore arch compatibility @@ -825,8 +826,8 @@ if ($nok) { } unless ($env || $nolock) { - urpm::sys::unlock_urpmi_db($urpm); - urpm::sys::unlock_rpm_db($urpm); + urpm::sys::unlock($urpmi_lock); + urpm::sys::unlock($rpm_lock); #- try to umount removable device which may have been mounted. urpm::removable::try_umounting_removables($urpm); -- cgit v1.2.1