diff options
Diffstat (limited to 'Bugzilla.pm')
-rw-r--r-- | Bugzilla.pm | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/Bugzilla.pm b/Bugzilla.pm index f278adb2e..473d959fc 100644 --- a/Bugzilla.pm +++ b/Bugzilla.pm @@ -412,14 +412,15 @@ sub request_cache { # Private methods -# Per process cleanup +# Per-process cleanup sub _cleanup { - - # When we support transactions, need to ->rollback here my $main = request_cache()->{dbh_main}; my $shadow = request_cache()->{dbh_shadow}; - $main->disconnect if $main; - $shadow->disconnect if $shadow && Bugzilla->params->{"shadowdb"}; + foreach my $dbh ($main, $shadow) { + next if !$dbh; + $dbh->bz_rollback_transaction() if $dbh->bz_in_transaction; + $dbh->disconnect; + } undef $_request_cache; } |