From 4adc921e10de91bad731db27679bcc430ff98f8e Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Fri, 7 Mar 2008 17:39:51 +0000 Subject: (perform_installation) when restarting after priority upgrade, free memory used by previous rpmdrake instance --- Rpmdrake/pkg.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Rpmdrake') 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); } -- cgit v1.2.1