diff options
Diffstat (limited to 'mdkapplet')
-rwxr-xr-x | mdkapplet | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -187,12 +187,15 @@ Gtk2->main; ugtk2::exit(0); +my $mdv_update_pid; + # Signal management sub harvester { my ($_signame, $clean) = @_; my ($childpid, @pids); do { $childpid = waitpid(-1, &WNOHANG); + undef $mdv_update_pid if $mdv_update_pid == $childpid; push @pids, $childpid; WIFEXITED($?) and refresh_gui(1); } while $childpid > 0; @@ -284,9 +287,11 @@ sub restart_applet() { sub installUpdates() { my $binfile = $0; + return if $mdv_update_pid; my $oldmd5 = $release <= 10.2 ? mdkonline::md5file($binfile) : common::md5file($binfile); logIt(N("Launching mdkupdate --applet\n")); refresh_gui(0); + $mdv_update_pid = fork_exec('MandrivaUpdate', '--no-media-update', '--no-confirmation'); my $newmd5 = $release <= 10.2 ? mdkonline::md5file($binfile) : common::md5file($binfile); restart_applet() if $newmd5 ne $oldmd5; #my $w = $in->wait_message(N("Please wait"), N("Check updates")); |