fix new page logging
[freeside.git] / htetc / handler.pl
index d7c5657..416ea69 100644 (file)
@@ -6,12 +6,24 @@ use strict;
 use warnings;
 use FS::Mason qw( mason_interps );
 use FS::Trace;
+use FS::Conf;
+
+$FS::Conf::conf_cache_enabled = 1; # enable FS::Conf caching for performance
 
 if ( %%%RT_ENABLED%%% ) {
+
   require RT;
+
   $> = scalar(getpwnam('freeside'));
+
   RT::LoadConfig();
   RT::Init();
+
+  # disconnect DB before fork:
+  #   (avoid 'prepared statement "dbdpg_p\d+_\d+" already exists' errors?)
+  $RT::Handle->dbh(undef);
+  undef $RT::Handle;
+
   $> = $<;
 }
 
@@ -95,7 +107,6 @@ sub handler
       return -1 if defined( $r->content_type )
                 && $r->content_type !~ m!(^text/|\bxml\b)!io;
 
-
       local $SIG{__WARN__};
       local $SIG{__DIE__};