summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Util.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2015-07-09 22:18:55 -0700
committerIvan Kohler <ivan@freeside.biz>2015-07-09 22:18:55 -0700
commit1c538bfabc2cd31f27067505f0c3d1a46cba6ef0 (patch)
tree96922ad4459eda1e649327fd391d60c58d454c53 /rt/lib/RT/Util.pm
parent4f5619288413a185e9933088d9dd8c5afbc55dfa (diff)
RT 4.2.11, ticket#13852
Diffstat (limited to 'rt/lib/RT/Util.pm')
-rw-r--r--rt/lib/RT/Util.pm10
1 files changed, 5 insertions, 5 deletions
diff --git a/rt/lib/RT/Util.pm b/rt/lib/RT/Util.pm
index bd3a22803..aa02b04d9 100644
--- a/rt/lib/RT/Util.pm
+++ b/rt/lib/RT/Util.pm
@@ -66,11 +66,11 @@ sub safe_run_child (&) {
# on failure and reset values only in our original
# process
my ($oldv_dbh, $oldv_rth);
- my $dbh = $RT::Handle->dbh;
+ my $dbh = $RT::Handle ? $RT::Handle->dbh : undef;
$oldv_dbh = $dbh->{'InactiveDestroy'} if $dbh;
$dbh->{'InactiveDestroy'} = 1 if $dbh;
- $oldv_rth = $RT::Handle->{'DisconnectHandleOnDestroy'};
- $RT::Handle->{'DisconnectHandleOnDestroy'} = 0;
+ $oldv_rth = $RT::Handle->{'DisconnectHandleOnDestroy'} if $RT::Handle;
+ $RT::Handle->{'DisconnectHandleOnDestroy'} = 0 if $RT::Handle;
my ($reader, $writer);
pipe( $reader, $writer );
@@ -94,7 +94,7 @@ sub safe_run_child (&) {
$err =~ s/^Stack:.*$//ms;
if ( $our_pid == $$ ) {
$dbh->{'InactiveDestroy'} = $oldv_dbh if $dbh;
- $RT::Handle->{'DisconnectHandleOnDestroy'} = $oldv_rth;
+ $RT::Handle->{'DisconnectHandleOnDestroy'} = $oldv_rth if $RT::Handle;
die "System Error: $err";
} else {
print $writer "System Error: $err";
@@ -108,7 +108,7 @@ sub safe_run_child (&) {
warn $response if $response;
$dbh->{'InactiveDestroy'} = $oldv_dbh if $dbh;
- $RT::Handle->{'DisconnectHandleOnDestroy'} = $oldv_rth;
+ $RT::Handle->{'DisconnectHandleOnDestroy'} = $oldv_rth if $RT::Handle;
return $want? (@res) : $res[0];
}