You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2010/03/24 03:56:49 UTC
svn commit: r926907 - in /incubator/trafficserver/traffic/trunk/proxy:
Main.cc signals.cc signals.h
Author: zwoop
Date: Wed Mar 24 02:56:48 2010
New Revision: 926907
URL: http://svn.apache.org/viewvc?rev=926907&view=rev
Log:
TS-272: logcat and logstats segfaults. This fix moves the Records
dependencies out of signals.cc and into Main.cc.
Modified:
incubator/trafficserver/traffic/trunk/proxy/Main.cc
incubator/trafficserver/traffic/trunk/proxy/signals.cc
incubator/trafficserver/traffic/trunk/proxy/signals.h
Modified: incubator/trafficserver/traffic/trunk/proxy/Main.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/Main.cc?rev=926907&r1=926906&r2=926907&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/Main.cc (original)
+++ incubator/trafficserver/traffic/trunk/proxy/Main.cc Wed Mar 24 02:56:48 2010
@@ -354,7 +354,15 @@ max_out_limit(char *name, int which, boo
void
init_system()
{
- init_signals();
+ RecInt stackDump;
+ bool found = (RecGetRecordInt("proxy.config.stack_dump_enabled", &stackDump) == REC_ERR_OKAY);
+
+ if(found == false) {
+ Warning("Unable to determine stack_dump_enabled , assuming enabled");
+ stackDump = 1;
+ }
+
+ init_signals(stackDump == 1);
syslog(LOG_NOTICE, "NOTE: --- Server Starting ---");
syslog(LOG_NOTICE, "NOTE: Server Version: %s", appVersionInfo.FullVersionInfoStr);
Modified: incubator/trafficserver/traffic/trunk/proxy/signals.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/signals.cc?rev=926907&r1=926906&r2=926907&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/signals.cc (original)
+++ incubator/trafficserver/traffic/trunk/proxy/signals.cc Wed Mar 24 02:56:48 2010
@@ -463,17 +463,10 @@ check_signal_thread(void *)
#endif
void
-init_signals()
+init_signals(bool do_stackdump)
{
- RecInt stackDump;
- bool found = (RecGetRecordInt("proxy.config.stack_dump_enabled", &stackDump) == REC_ERR_OKAY);
-
- if(found == false) {
- Warning("Unable to determine stack_dump_enabled , assuming enabled");
- stackDump = 1;
- }
-
sigset_t sigsToBlock;
+
sigemptyset(&sigsToBlock);
ink_thread_sigsetmask(SIG_SETMASK, &sigsToBlock, NULL);
@@ -482,7 +475,7 @@ init_signals()
set_signal(SIGTERM, (SigActionFunc_t) signal_handler);
set_signal(SIGHUP, (SigActionFunc_t) interrupt_handler);
set_signal(SIGILL, (SigActionFunc_t) signal_handler);
- if(stackDump == 1) {
+ if(do_stackdump) {
set_signal(SIGBUS, (SigActionFunc_t) signal_handler);
set_signal(SIGSEGV, (SigActionFunc_t) signal_handler);
}
Modified: incubator/trafficserver/traffic/trunk/proxy/signals.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/signals.h?rev=926907&r1=926906&r2=926907&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/signals.h (original)
+++ incubator/trafficserver/traffic/trunk/proxy/signals.h Wed Mar 24 02:56:48 2010
@@ -46,7 +46,7 @@ int register_signal_callback(sig_callbac
* Function prototypes
*/
-void init_signals();
+void init_signals(bool do_stackdump=true);
void init_signals2();
void init_daemon_signals();