projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
76944dc
)
add NoSignalHandlers option to RT::Init() so we can pull things up the way we want...
author
ivan
<ivan>
Tue, 9 Feb 2010 21:49:16 +0000
(21:49 +0000)
committer
ivan
<ivan>
Tue, 9 Feb 2010 21:49:16 +0000
(21:49 +0000)
rt/lib/RT.pm
patch
|
blob
|
history
rt/lib/RT.pm.in
patch
|
blob
|
history
diff --git
a/rt/lib/RT.pm
b/rt/lib/RT.pm
index
da14b04
..
c4f066e
100644
(file)
--- a/
rt/lib/RT.pm
+++ b/
rt/lib/RT.pm
@@
-62,15
+62,15
@@
our $VERSION = '3.8.7';
our $BasePath = '/opt/rt3';
our $BasePath = '/opt/rt3';
-our $EtcPath = 'etc';
-our $BinPath = 'bin';
-our $SbinPath = 'sbin';
-our $VarPath = 'var';
-our $PluginPath = '
plugins
';
-our $LocalPath = 'local';
-our $LocalEtcPath = 'local/etc';
-our $LocalLibPath = 'local/lib';
-our $LocalLexiconPath = 'local/po';
+our $EtcPath = '
/opt/rt3/
etc';
+our $BinPath = '
/opt/rt3/
bin';
+our $SbinPath = '
/opt/rt3/
sbin';
+our $VarPath = '
/opt/rt3/
var';
+our $PluginPath = '';
+our $LocalPath = '
/opt/rt3/
local';
+our $LocalEtcPath = '
/opt/rt3/
local/etc';
+our $LocalLibPath = '
/opt/rt3/
local/lib';
+our $LocalLexiconPath = '
/opt/rt3/
local/po';
our $LocalPluginPath = $LocalPath."/plugins";
our $LocalPluginPath = $LocalPath."/plugins";
@@
-81,7
+81,7
@@
our $MasonComponentRoot = '/var/www/freeside/rt';
# $MasonLocalComponentRoot is where your rt instance keeps its site-local
# mason html files.
# $MasonLocalComponentRoot is where your rt instance keeps its site-local
# mason html files.
-our $MasonLocalComponentRoot = 'local/html';
+our $MasonLocalComponentRoot = '
/opt/rt3/
local/html';
# $MasonDataDir Where mason keeps its datafiles
# $MasonDataDir Where mason keeps its datafiles
@@
-89,7
+89,7
@@
our $MasonDataDir = '/usr/local/etc/freeside/masondata';
# RT needs to put session data (for preserving state between connections
# via the web interface)
# RT needs to put session data (for preserving state between connections
# via the web interface)
-our $MasonSessionDir = 'var/session_data';
+our $MasonSessionDir = '
/opt/rt3/
var/session_data';
unless ( File::Spec->file_name_is_absolute($EtcPath) ) {
unless ( File::Spec->file_name_is_absolute($EtcPath) ) {
@@
-180,6
+180,8
@@
L<preloads classes /InitClasses> and L<set up logging /InitLogging>.
sub Init {
sub Init {
+ my @arg = @_;
+
CheckPerlRequirements();
InitPluginPaths();
CheckPerlRequirements();
InitPluginPaths();
@@
-188,7
+190,7
@@
sub Init {
ConnectToDatabase();
InitSystemObjects();
InitClasses();
ConnectToDatabase();
InitSystemObjects();
InitClasses();
- InitLogging();
+ InitLogging(
@arg
);
InitPlugins();
RT->Config->PostLoadCheck;
InitPlugins();
RT->Config->PostLoadCheck;
@@
-215,6
+217,8
@@
Create the Logger object and set up signal handlers.
sub InitLogging {
sub InitLogging {
+ my %arg = @_;
+
# We have to set the record separator ($, man perlvar)
# or Log::Dispatch starts getting
# really pissy, as some other module we use unsets it.
# We have to set the record separator ($, man perlvar)
# or Log::Dispatch starts getting
# really pissy, as some other module we use unsets it.
@@
-358,28
+362,32
@@
sub InitLogging {
## Mason). It will log all problems through the standard logging
## mechanism (see above).
## Mason). It will log all problems through the standard logging
## mechanism (see above).
- $SIG{__WARN__} = sub {
- # The 'wide character' warnings has to be silenced for now, at least
- # until HTML::Mason offers a sane way to process both raw output and
- # unicode strings.
- # use 'goto &foo' syntax to hide ANON sub from stack
- if( index($_[0], 'Wide character in ') != 0 ) {
- unshift @_, $RT::Logger, qw(level warning message);
- goto &Log::Dispatch::log;
- }
- };
+ unless ( $arg{'NoSignalHandlers'} ) {
-#When we call die, trap it and log->crit with the value of the die.
+ $SIG{__WARN__} = sub {
+ # The 'wide character' warnings has to be silenced for now, at least
+ # until HTML::Mason offers a sane way to process both raw output and
+ # unicode strings.
+ # use 'goto &foo' syntax to hide ANON sub from stack
+ if( index($_[0], 'Wide character in ') != 0 ) {
+ unshift @_, $RT::Logger, qw(level warning message);
+ goto &Log::Dispatch::log;
+ }
+ };
- $SIG{__DIE__} = sub {
- # if we are not in eval and perl is not parsing code
- # then rollback transactions and log RT error
- unless ($^S || !defined $^S ) {
- $RT::Handle->Rollback(1) if $RT::Handle;
- $RT::Logger->crit("$_[0]") if $RT::Logger;
- }
- die $_[0];
- };
+ #When we call die, trap it and log->crit with the value of the die.
+
+ $SIG{__DIE__} = sub {
+ # if we are not in eval and perl is not parsing code
+ # then rollback transactions and log RT error
+ unless ($^S || !defined $^S ) {
+ $RT::Handle->Rollback(1) if $RT::Handle;
+ $RT::Logger->crit("$_[0]") if $RT::Logger;
+ }
+ die $_[0];
+ };
+
+ }
}
}
diff --git
a/rt/lib/RT.pm.in
b/rt/lib/RT.pm.in
index
f0e56e8
..
a5f8e01
100644
(file)
--- a/
rt/lib/RT.pm.in
+++ b/
rt/lib/RT.pm.in
@@
-180,6
+180,8
@@
L<preloads classes /InitClasses> and L<set up logging /InitLogging>.
sub Init {
sub Init {
+ my @arg = @_;
+
CheckPerlRequirements();
InitPluginPaths();
CheckPerlRequirements();
InitPluginPaths();
@@
-188,7
+190,7
@@
sub Init {
ConnectToDatabase();
InitSystemObjects();
InitClasses();
ConnectToDatabase();
InitSystemObjects();
InitClasses();
- InitLogging();
+ InitLogging(
@arg
);
InitPlugins();
RT->Config->PostLoadCheck;
InitPlugins();
RT->Config->PostLoadCheck;
@@
-215,6
+217,8
@@
Create the Logger object and set up signal handlers.
sub InitLogging {
sub InitLogging {
+ my %arg = @_;
+
# We have to set the record separator ($, man perlvar)
# or Log::Dispatch starts getting
# really pissy, as some other module we use unsets it.
# We have to set the record separator ($, man perlvar)
# or Log::Dispatch starts getting
# really pissy, as some other module we use unsets it.
@@
-358,28
+362,32
@@
sub InitLogging {
## Mason). It will log all problems through the standard logging
## mechanism (see above).
## Mason). It will log all problems through the standard logging
## mechanism (see above).
- $SIG{__WARN__} = sub {
- # The 'wide character' warnings has to be silenced for now, at least
- # until HTML::Mason offers a sane way to process both raw output and
- # unicode strings.
- # use 'goto &foo' syntax to hide ANON sub from stack
- if( index($_[0], 'Wide character in ') != 0 ) {
- unshift @_, $RT::Logger, qw(level warning message);
- goto &Log::Dispatch::log;
- }
- };
+ unless ( $arg{'NoSignalHandlers'} ) {
-#When we call die, trap it and log->crit with the value of the die.
+ $SIG{__WARN__} = sub {
+ # The 'wide character' warnings has to be silenced for now, at least
+ # until HTML::Mason offers a sane way to process both raw output and
+ # unicode strings.
+ # use 'goto &foo' syntax to hide ANON sub from stack
+ if( index($_[0], 'Wide character in ') != 0 ) {
+ unshift @_, $RT::Logger, qw(level warning message);
+ goto &Log::Dispatch::log;
+ }
+ };
- $SIG{__DIE__} = sub {
- # if we are not in eval and perl is not parsing code
- # then rollback transactions and log RT error
- unless ($^S || !defined $^S ) {
- $RT::Handle->Rollback(1) if $RT::Handle;
- $RT::Logger->crit("$_[0]") if $RT::Logger;
- }
- die $_[0];
- };
+ #When we call die, trap it and log->crit with the value of the die.
+
+ $SIG{__DIE__} = sub {
+ # if we are not in eval and perl is not parsing code
+ # then rollback transactions and log RT error
+ unless ($^S || !defined $^S ) {
+ $RT::Handle->Rollback(1) if $RT::Handle;
+ $RT::Logger->crit("$_[0]") if $RT::Logger;
+ }
+ die $_[0];
+ };
+
+ }
}
}