Repository: trafficserver Updated Branches: refs/heads/master dfcc73c5b -> 12a693e37
TS-3983: traffic_ctl should not exit is manager is not running If traffic_manager is not running, traffic_ctl prints an error and quits. This is not helpful if you just want to show the help text, so we should swallow that error and just fail if and when an operation is actually performed. Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/12a693e3 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/12a693e3 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/12a693e3 Branch: refs/heads/master Commit: 12a693e3726343c8fea852bc76ddc30980aaa72e Parents: dfcc73c Author: James Peach <[email protected]> Authored: Mon Oct 26 16:18:45 2015 -0700 Committer: James Peach <[email protected]> Committed: Mon Nov 16 09:14:39 2015 -0800 ---------------------------------------------------------------------- cmd/traffic_ctl/traffic_ctl.cc | 10 ++++------ mgmt/api/NetworkUtilsRemote.cc | 10 +--------- 2 files changed, 5 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/12a693e3/cmd/traffic_ctl/traffic_ctl.cc ---------------------------------------------------------------------- diff --git a/cmd/traffic_ctl/traffic_ctl.cc b/cmd/traffic_ctl/traffic_ctl.cc index 924ab58..eb2698c 100644 --- a/cmd/traffic_ctl/traffic_ctl.cc +++ b/cmd/traffic_ctl/traffic_ctl.cc @@ -209,7 +209,6 @@ CtrlGenericSubcommand(const char *name, const subcommand *cmds, unsigned ncmds, int main(int argc, const char **argv) { - TSMgmtError status; CtrlCommandLine cmdline; int debug = false; @@ -249,11 +248,10 @@ main(int argc, const char **argv) return CtrlSubcommandUsage(NULL, commands, countof(commands), argument_descriptions, countof(argument_descriptions)); } - status = TSInit(NULL, static_cast<TSInitOptionT>(TS_MGMT_OPT_NO_EVENTS | TS_MGMT_OPT_NO_SOCK_TESTS)); - if (status != TS_ERR_OKAY) { - CtrlMgmtError(status, "failed to attach to the API server"); - return CTRL_EX_UNAVAILABLE; - } + // Make a best effort to connect the control socket. If it turns out we are just displaying help or something then it + // doesn't matter that we failed. If we end up performing some operation then that operation will fail and display the + // error. + TSInit(NULL, static_cast<TSInitOptionT>(TS_MGMT_OPT_NO_EVENTS | TS_MGMT_OPT_NO_SOCK_TESTS)); for (unsigned i = 0; i < countof(commands); ++i) { if (strcmp(file_arguments[0], commands[i].name) == 0) { http://git-wip-us.apache.org/repos/asf/trafficserver/blob/12a693e3/mgmt/api/NetworkUtilsRemote.cc ---------------------------------------------------------------------- diff --git a/mgmt/api/NetworkUtilsRemote.cc b/mgmt/api/NetworkUtilsRemote.cc index f70768a..9ce659e 100644 --- a/mgmt/api/NetworkUtilsRemote.cc +++ b/mgmt/api/NetworkUtilsRemote.cc @@ -117,7 +117,6 @@ ts_connect() // create a socket main_socket_fd = socket(AF_UNIX, SOCK_STREAM, 0); if (main_socket_fd < 0) { - // fprintf(stderr, "[connect] ERROR: can't open socket\n"); goto ERROR; // ERROR - can't open socket } // setup Unix domain socket @@ -131,7 +130,6 @@ ts_connect() #endif // connect call if (connect(main_socket_fd, (struct sockaddr *)&client_sock, sockaddr_len) < 0) { - fprintf(stderr, "[connect] ERROR (main_socket_fd %d): %s\n", main_socket_fd, strerror(int(errno))); close(main_socket_fd); main_socket_fd = -1; goto ERROR; // connection is down @@ -140,7 +138,6 @@ ts_connect() // create a socket event_socket_fd = socket(AF_UNIX, SOCK_STREAM, 0); if (event_socket_fd < 0) { - // fprintf(stderr, "[connect] ERROR: can't open event socket\n"); close(main_socket_fd); // close the other socket too! main_socket_fd = -1; goto ERROR; // ERROR - can't open socket @@ -156,7 +153,6 @@ ts_connect() #endif // connect call if (connect(event_socket_fd, (struct sockaddr *)&client_event_sock, sockaddr_len) < 0) { - // fprintf(stderr, "[connect] ERROR (event_socket_fd %d): %s\n", event_socket_fd, strerror(int(errno))); close(event_socket_fd); close(main_socket_fd); event_socket_fd = -1; @@ -264,13 +260,11 @@ reconnect_loop(int num_attempts) numTries++; err = reconnect(); if (err == TS_ERR_OKAY) { - // fprintf(stderr, "[reconnect_loop] Successful reconnction; Leave loop\n"); return TS_ERR_OKAY; // successful connection } sleep(1); // to make it slower } - // fprintf(stderr, "[reconnect_loop] FAIL TO CONNECT after %d tries\n", num_attempts); return err; // unsuccessful connection after num_attempts } @@ -412,9 +406,7 @@ socket_test_thread(void *) // reconnect will return an "ALREADY CONNECTED" error when it // tries to connect, and on the next loop iteration, the socket_test // will actually pass because main_socket_fd is valid!! - if (reconnect() == TS_ERR_OKAY) { - // fprintf(stderr, "[socket_test_thread] reconnect succeeds\n"); - } + reconnect(); } sleep(5);
