DBIx::Class::Storage::BlockRunner->new(
storage => $self,
run_code => $coderef,
- run_args => \@_, # take a ref instead of a copy, to preserve coderef @_ aliasing semantics
+ run_args => @_
+ ? \@_ # take a ref instead of a copy, to preserve @_ aliasing
+ : [] # semantics within the coderef, but only if needed
+ , # (pseudoforking doesn't like this trick much)
wrap_txn => 1,
retry_handler => sub { ! ( $_[0]->retried_count or $_[0]->storage->connected ) },
)->run;