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();