summaryrefslogtreecommitdiff
path: root/htetc/handler.pl
diff options
context:
space:
mode:
Diffstat (limited to 'htetc/handler.pl')
-rw-r--r--htetc/handler.pl19
1 files changed, 17 insertions, 2 deletions
diff --git a/htetc/handler.pl b/htetc/handler.pl
index b00ab6d51..cea366134 100644
--- a/htetc/handler.pl
+++ b/htetc/handler.pl
@@ -84,7 +84,7 @@ sub handler
local $SIG{__WARN__};
local $SIG{__DIE__};
- RT::Init();
+ my_rt_init();
$ah->interp($rt_interp);
@@ -93,7 +93,7 @@ sub handler
local $SIG{__WARN__};
local $SIG{__DIE__};
- RT::Init() if $RT::VERSION; #for lack of something else
+ my_rt_init();
#we don't want the RT error handlers under FS
{
@@ -128,4 +128,19 @@ sub handler
$status;
}
+my $rt_initialized = 0;
+
+sub my_rt_init {
+ return unless $RT::VERSION;
+
+ if ( $rt_initialized ) {
+ RT::ConnectToDatabase();
+ RT::InitSignalHandlers();
+ } else {
+ RT::LoadConfig();
+ RT::Init();
+ $rt_initialized++;
+ }
+}
+
1;