Code: Select all
Index: autoupdate.pl
===================================================================
--- autoupdate.pl (revision 7277)
+++ autoupdate.pl (working copy)
@@ -18,6 +18,7 @@
use Time::HiRes qw(time usleep);
use Carp::Assert;
+use Thread qw(async);
# Update base
use SVN::Updater;
@@ -37,7 +38,7 @@
return unless -d "$path/.svn" && !-l $path;
- print "Checking " . $repos_name . " for updates...";
+ my $message = "Checking " . $repos_name . " for updates...\n";
my $sa = SVN::Updater->load({ path => $path });
my (undef, $old_version) = $sa->info;
@@ -45,18 +46,22 @@
my (undef, $new_version) = $sa->info;
if ($old_version == $new_version) {
- print " no updates available\n";
+ $message .= " no updates available\n";
} else {
- print " updated to r$new_version\n";
+ $message .= " updated to r$new_version\n";
}
+ print $message;
};
print "-===================== OpenKore Auto Update tool =====================-\n";
if (check_svn_util() == 1) {
- upgrade("$RealBin", "OpenKore core files");
- upgrade("$RealBin/tables", "OpenKore table data files");
- upgrade("$RealBin/fields", "OpenKore map data files");
- upgrade($_, $_) while <$RealBin/plugins/*>;
+ my @async = (
+ async { upgrade("$RealBin", "OpenKore core files") },
+ async { upgrade("$RealBin/tables", "OpenKore table data files") },
+ async { upgrade("$RealBin/fields", "OpenKore map data files") },
+ );
+ push @async, async { upgrade($_, $_) } while <$RealBin/plugins/*>;
+ $_->join foreach (@async);
};status
print "-=========================== Done Updating ===========================-\n\n\n";