From 823f521ffe5563715d1c36c14a5a867b51ee6426 Mon Sep 17 00:00:00 2001 From: freesource Date: Wed, 19 Dec 2001 09:07:56 +0000 Subject: [PATCH] This prevents the app. from not locking when really large files are compressed, it locks a little between large chunks, but a lot better than before .. also there is now a little verbosity to tell when the process is over. --- BootRoot/BootRoot.pm | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/BootRoot/BootRoot.pm b/BootRoot/BootRoot.pm index ea89de1..9084dbf 100644 --- a/BootRoot/BootRoot.pm +++ b/BootRoot/BootRoot.pm @@ -1,6 +1,6 @@ #!/usr/bin/perl -w -########################################################################### +############################################################################## ## ## BootRoot.pm ## Copyright (C) 2000, 2001 by Jonathan Rosenbaum @@ -1507,10 +1507,26 @@ sub accept_button { info(0, "Already bzip2 compressed.\n"); } else { + my $command_line = + "$compress -c9 $tmp/$entry_advanced[4]|"; + info(0,"Compressing $entry_advanced[4] with $compress\n"); + open (PLACE, ">$tmp/$entry_advanced[4].gz"); + open (COMP,"$command_line"); + while () { + print PLACE $_; + while (Gtk->events_pending) + { Gtk->main_iteration; } + } + close(COMP); + close(PLACE); + info(0,"Done compressing $entry_advanced[4] with $compress\n"); +=pod system "$compress -c9 $tmp/$entry_advanced[4] > $tmp/$entry_advanced[4].gz"; +=cut $entry_advanced[4] = "$entry_advanced[4].gz"; $entry3->set_text("$tmp/$entry_advanced[4]"); + } } close(F); @@ -1537,10 +1553,28 @@ sub accept_button { info(0, "Already bzip2 compressed.\n"); } else { + + my $command_line = + "$compress -c $tmp/$entry_advanced[4]|"; + info(0,"Compressing $entry_advanced[4] with $compress\n"); + open (PLACE, ">$tmp/$entry_advanced[4].bz2"); + open (COMP,"$command_line"); + while () { + print PLACE $_; + while (Gtk->events_pending) + { Gtk->main_iteration; } + } + close(COMP); + close(PLACE); + info(0,"Done compressing $entry_advanced[4] with $compress\n"); + +=pod system "$compress -c $tmp/$entry_advanced[4] > $tmp/$entry_advanced[4].bz2"; +=cut $entry_advanced[4] = "$entry_advanced[4].bz2"; $entry3->set_text("$tmp/$entry_advanced[4]"); + } } close(F);