protect against a race
authorjeff <jeff>
Mon, 28 Aug 2006 00:52:44 +0000 (00:52 +0000)
committerjeff <jeff>
Mon, 28 Aug 2006 00:52:44 +0000 (00:52 +0000)
FS/FS/cust_bill.pm

index 1801b12..e1281e3 100644 (file)
@@ -1327,6 +1327,9 @@ sub batch_card {
   local $FS::UID::AutoCommit = 0;
   my $dbh = dbh;
 
+  $dbh->do("LOCK TABLE pay_batch IN SHARE ROW EXCLUSIVE MODE")
+    or return "Cannot lock pay_batch: " . $dbh->errstr;
+
   my $pay_batch = qsearchs('pay_batch', {'status' => 'O'});
 
   unless ( $pay_batch ) {