aboutsummaryrefslogtreecommitdiffstats
path: root/Rpmdrake/pkg.pm
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2008-03-07 17:39:51 +0000
committerThierry Vignaud <tv@mandriva.org>2008-03-07 17:39:51 +0000
commit4adc921e10de91bad731db27679bcc430ff98f8e (patch)
tree557217346bab6afcfa80f0b2add10d6a3c9ad304 /Rpmdrake/pkg.pm
parent02c036884d45f4c8686e74f746911ece7140eadf (diff)
downloadrpmdrake-4adc921e10de91bad731db27679bcc430ff98f8e.tar
rpmdrake-4adc921e10de91bad731db27679bcc430ff98f8e.tar.gz
rpmdrake-4adc921e10de91bad731db27679bcc430ff98f8e.tar.bz2
rpmdrake-4adc921e10de91bad731db27679bcc430ff98f8e.tar.xz
rpmdrake-4adc921e10de91bad731db27679bcc430ff98f8e.zip
(perform_installation) when restarting after priority upgrade, free
memory used by previous rpmdrake instance
Diffstat (limited to 'Rpmdrake/pkg.pm')
-rw-r--r--Rpmdrake/pkg.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm
index d043281c..9c24d96c 100644
--- a/Rpmdrake/pkg.pm
+++ b/Rpmdrake/pkg.pm
@@ -793,11 +793,13 @@ you may now inspect some in order to take actions:"),
#- restart rpmdrake if needed, keep command line for that.
if ($restart_itself && !$exit_code) {
log::explanations("restarting rpmdrake");
+ #- it seems to work correctly with exec instead of system, provided we stop timers
#- added --previous-priority-upgrade to allow checking if yet if
#- priority-upgrade list has changed. and make sure we don't uselessly restart
my @argv = ('--previous-priority-upgrade=' . $urpm->{options}{'priority-upgrade'},
grep { !/^--no-priority-upgrade$|--previous-priority-upgrade=/ } @Rpmdrake::init::ARGV_copy);
- run_program::raw({ detach => 1 }, $0, @argv);
+ alarm(0);
+ exec($0, @argv);
exit(0);
}