diff options
author | Thierry Vignaud <tv@mandriva.org> | 2008-05-08 04:59:11 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2008-05-08 04:59:11 +0000 |
commit | 28158fb042056fb2d41f1b917176c92f5b3cafd2 (patch) | |
tree | c4090e460ab09aacc04a73c0dcc55c9348ca03b0 | |
parent | de35e8c4db092116edc1e9815c43a7a697d56405 (diff) | |
download | rpmdrake-28158fb042056fb2d41f1b917176c92f5b3cafd2.tar rpmdrake-28158fb042056fb2d41f1b917176c92f5b3cafd2.tar.gz rpmdrake-28158fb042056fb2d41f1b917176c92f5b3cafd2.tar.bz2 rpmdrake-28158fb042056fb2d41f1b917176c92f5b3cafd2.tar.xz rpmdrake-28158fb042056fb2d41f1b917176c92f5b3cafd2.zip |
- handle gracefully locked RPM DB when trying to install some packages
(#40244)
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | Rpmdrake/pkg.pm | 7 |
2 files changed, 8 insertions, 1 deletions
@@ -1,3 +1,5 @@ +- handle gracefully locked RPM DB when trying to install some packages + (#40244) - rpmdrake: o fix a crash when default view is unknown (#40025) o fix searching when numeric pad's return key is pressed diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm index 883113f0..06c88e55 100644 --- a/Rpmdrake/pkg.pm +++ b/Rpmdrake/pkg.pm @@ -374,7 +374,12 @@ sub get_pkgs { $gurpm->label(N("Please wait, listing base packages...")); $gurpm->progress($level); - my $db = open_rpm_db(); + my $db = eval { open_rpm_db() }; + if (my $err = $@) { + interactive_msg(N("Error"), N("A fatal error occurred: %s.", $err)); + return; + } + my $sig_handler = sub { undef $db; exit 3 }; local $SIG{INT} = $sig_handler; local $SIG{QUIT} = $sig_handler; |