diff --git a/lib/RevBank/FileIO.pm b/lib/RevBank/FileIO.pm index 32b4f1a..a54412c 100644 --- a/lib/RevBank/FileIO.pm +++ b/lib/RevBank/FileIO.pm @@ -60,6 +60,10 @@ sub release_lock() { } } +sub release_all_locks() { + release_lock while $lockcount; +} + sub with_lock :prototype(&) ($code) { get_lock; my @rv; diff --git a/revbank b/revbank index ed42a2a..869cfd0 100755 --- a/revbank +++ b/revbank @@ -143,6 +143,7 @@ OUTER: for (;;) { @retry = (); call_hooks "abort", $cart, \@_; $cart->empty; + RevBank::FileIO::release_all_locks; { no warnings; redo OUTER; } }