summaryrefslogtreecommitdiff
path: root/bin/hashl
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2011-05-19 09:15:03 +0200
committerDaniel Friesel <derf@finalrewind.org>2011-05-19 09:15:03 +0200
commit1d78433ff8f8490ec942d6601ef800406355f6ca (patch)
tree4ab52b077e52658227df3d46db8a8168f7b38c97 /bin/hashl
parent119e9660f5312cb83cf4a391417476966f5a1fe6 (diff)
hashl update: Save db when being interrupted, increase autosave interval
Diffstat (limited to 'bin/hashl')
-rwxr-xr-xbin/hashl10
1 files changed, 9 insertions, 1 deletions
diff --git a/bin/hashl b/bin/hashl
index 6ae59c4..aaf17b9 100755
--- a/bin/hashl
+++ b/bin/hashl
@@ -65,6 +65,14 @@ else {
);
}
+$SIG{INT} = \&quit_save_db;
+$SIG{TERM} = \&quit_save_db;
+
+sub quit_save_db {
+ $hashl->save($db_file);
+ exit 0;
+}
+
sub get_total {
my $file = $File::Find::name;
if (-f $file and not -l $file and $file ne $db_file) {
@@ -157,7 +165,7 @@ sub process_file {
&{$code}($file, $path);
- if ($write and (($cur % 100) == 0)) {
+ if ($write and (($cur % 5000) == 0)) {
$hashl->save($db_file);
}
}