You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by am...@apache.org on 2015/11/05 06:48:40 UTC
trafficserver git commit: TS-306: Fix regression and compile issues
for certain architectures.
Repository: trafficserver
Updated Branches:
refs/heads/master 46a563dd1 -> 30ad08309
TS-306: Fix regression and compile issues for certain architectures.
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/30ad0830
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/30ad0830
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/30ad0830
Branch: refs/heads/master
Commit: 30ad083096eae278ff1236664edfb9bf421573a4
Parents: 46a563d
Author: Alan M. Carroll <am...@apache.org>
Authored: Wed Nov 4 23:48:04 2015 -0600
Committer: Alan M. Carroll <am...@apache.org>
Committed: Wed Nov 4 23:48:04 2015 -0600
----------------------------------------------------------------------
lib/ts/Diags.cc | 4 ++--
mgmt/api/CoreAPI.cc | 2 +-
proxy/InkAPITest.cc | 5 +++--
proxy/Main.cc | 16 +++++++---------
4 files changed, 13 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/30ad0830/lib/ts/Diags.cc
----------------------------------------------------------------------
diff --git a/lib/ts/Diags.cc b/lib/ts/Diags.cc
index ef419a6..68a61b9 100644
--- a/lib/ts/Diags.cc
+++ b/lib/ts/Diags.cc
@@ -816,7 +816,7 @@ Diags::set_stdout_output(const char *_bind_stdout)
}
// get root
- ElevateAccess elevate(true);
+ ElevateAccess elevate();
// create backing BaseLogFile for stdout
stdout_log = new BaseLogFile(_bind_stdout);
@@ -855,7 +855,7 @@ Diags::set_stderr_output(const char *_bind_stderr)
stderr_log = NULL;
}
// get root
- ElevateAccess elevate(true);
+ ElevateAccess elevate();
// create backing BaseLogFile for stdout
stderr_log = new BaseLogFile(_bind_stderr);
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/30ad0830/mgmt/api/CoreAPI.cc
----------------------------------------------------------------------
diff --git a/mgmt/api/CoreAPI.cc b/mgmt/api/CoreAPI.cc
index 972de27..2d249b8 100644
--- a/mgmt/api/CoreAPI.cc
+++ b/mgmt/api/CoreAPI.cc
@@ -362,7 +362,7 @@ ServerBacktrace(unsigned /* options */, char **trace)
// Unfortunately, we need to be privileged here. We either need to be root or to be holding
// the CAP_SYS_PTRACE capability. Even though we are the parent traffic_manager, it is not
// traceable without privilege because the process credentials do not match.
- ElevateAccess access(true, ElevateAccess::TRACE_PRIVILEGE);
+ ElevateAccess access(ElevateAccess::TRACE_PRIVILEGE);
threadlist threads(threads_for_process(lmgmt->watched_process_pid));
textBuffer text(0);
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/30ad0830/proxy/InkAPITest.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPITest.cc b/proxy/InkAPITest.cc
index 68cfb92..4be5099 100644
--- a/proxy/InkAPITest.cc
+++ b/proxy/InkAPITest.cc
@@ -2179,6 +2179,7 @@ checkHttpTxnServerRespGet(SocketTest *test, void *data)
// This func is called both by us when scheduling EVENT_IMMEDIATE
// And by HTTP SM for registered hooks
+// Depending on the timing of the DNS response, OS_DNS can happen before or after CACHE_LOOKUP.
static int
mytest_handler(TSCont contp, TSEvent event, void *data)
{
@@ -2215,7 +2216,7 @@ mytest_handler(TSCont contp, TSEvent event, void *data)
break;
case TS_EVENT_HTTP_OS_DNS:
- if (test->hook_mask == 7) {
+ if (test->hook_mask == 3 || test->hook_mask == 7) {
test->hook_mask |= 8;
}
@@ -2230,7 +2231,7 @@ mytest_handler(TSCont contp, TSEvent event, void *data)
break;
case TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE:
- if (test->hook_mask == 3) {
+ if (test->hook_mask == 3 || test->hook_mask == 11) {
test->hook_mask |= 4;
}
TSHttpTxnReenable((TSHttpTxn)data, TS_EVENT_HTTP_CONTINUE);
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/30ad0830/proxy/Main.cc
----------------------------------------------------------------------
diff --git a/proxy/Main.cc b/proxy/Main.cc
index 992eaca..759a6c3 100644
--- a/proxy/Main.cc
+++ b/proxy/Main.cc
@@ -1485,21 +1485,12 @@ main(int /* argc ATS_UNUSED */, const char **argv)
if (cmd_disable_freelist) {
ink_freelist_init_ops(ink_freelist_malloc_ops());
}
- // Bind stdout and stderr to specified switches
- // Still needed despite the set_std{err,out}_output() calls later since there are
- // fprintf's before those calls
- bind_outputs(bind_stdout, bind_stderr);
-
// Specific validity checks.
if (*conf_dir && command_index != find_cmd_index(CMD_VERIFY_CONFIG)) {
fprintf(stderr, "-D option can only be used with the %s command\n", CMD_VERIFY_CONFIG);
_exit(1);
}
- // Set stdout/stdin to be unbuffered
- setbuf(stdout, NULL);
- setbuf(stdin, NULL);
-
// Bootstrap syslog. Since we haven't read records.config
// yet we do not know where
openlog("traffic_server", LOG_PID | LOG_NDELAY | LOG_NOWAIT, LOG_DAEMON);
@@ -1513,6 +1504,8 @@ main(int /* argc ATS_UNUSED */, const char **argv)
// re-start Diag completely) because at initialize, TM only has 1 thread.
// In TS, some threads have already created, so if we delete Diag and
// re-start it again, TS will crash.
+ // This is also needed for log rotation - setting up the file can cause privilege
+ // related errors and if diagsConfig isn't get up yet that will crash on a NULL pointer.
diagsConfig = new DiagsConfig(DIAGS_LOG_FILENAME, error_tags, action_tags, false);
diags = diagsConfig->diags;
diags->prefix_str = "Server ";
@@ -1521,6 +1514,11 @@ main(int /* argc ATS_UNUSED */, const char **argv)
if (is_debug_tag_set("diags"))
diags->dump();
+ // Bind stdout and stderr to specified switches
+ // Still needed despite the set_std{err,out}_output() calls later since there are
+ // fprintf's before those calls
+ bind_outputs(bind_stdout, bind_stderr);
+
// Local process manager
initialize_process_manager();