You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by Igor Galić <i....@brainsware.org> on 2013/10/31 22:43:17 UTC
Re: git commit: TS-2202: remove manager error and fatal useless
error message
I might have asked this once or twice already, but...
if we always append \n wouldn't it be easier if those functions did that for us?
----- Original Message -----
> Updated Branches:
> refs/heads/master e75d33a39 -> c2452f5fb
>
>
> TS-2202: remove manager error and fatal useless error message
>
> we should log errno and strerror(errno) only when errno != 0.
> the errno parameter should pass by the caller.
> functions mgmt_elog and mgmt_fatal changed
>
>
> Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
> Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/c2452f5f
> Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/c2452f5f
> Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/c2452f5f
>
> Branch: refs/heads/master
> Commit: c2452f5fbfafab8291537ef8abd4ac2e75253c45
> Parents: e75d33a
> Author: Yu Qing <zh...@taobao.com>
> Authored: Thu Oct 31 22:41:38 2013 +0800
> Committer: Zhao Yongming <mi...@gmail.com>
> Committed: Thu Oct 31 22:44:28 2013 +0800
>
> ----------------------------------------------------------------------
> mgmt/Alarms.cc | 2 +-
> mgmt/FileManager.cc | 12 ++--
> mgmt/LocalManager.cc | 82 ++++++++++++------------
> mgmt/Main.cc | 70 ++++++++++-----------
> mgmt/ProcessManager.cc | 24 +++----
> mgmt/Rollback.cc | 8 +--
> mgmt/api/NetworkUtilsLocal.cc | 14 ++---
> mgmt/cluster/ClusterCom.cc | 126 ++++++++++++++++++-------------------
> mgmt/cluster/VMap.cc | 18 +++---
> mgmt/utils/MgmtUtils.cc | 75 ++++++++++++----------
> mgmt/utils/MgmtUtils.h | 8 +--
> mgmt/utils/WebMgmtUtils.cc | 2 +-
> mgmt/web2/WebHttp.cc | 2 +-
> mgmt/web2/WebIntrMain.cc | 26 ++++----
> 14 files changed, 240 insertions(+), 229 deletions(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/Alarms.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/Alarms.cc b/mgmt/Alarms.cc
> index cbf2dc0..16c4149 100644
> --- a/mgmt/Alarms.cc
> +++ b/mgmt/Alarms.cc
> @@ -523,7 +523,7 @@ Alarms::execAlarmBin(const char *desc)
> if ((pid = fork1()) < 0)
> #endif
> {
> - mgmt_elog(stderr, "[Alarms::execAlarmBin] Unable to fork1 process\n");
> + mgmt_elog(stderr, errno, "[Alarms::execAlarmBin] Unable to fork1
> process\n");
> } else if (pid > 0) { /* Parent */
> // INKqa11769
> bool script_done = false;
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/FileManager.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/FileManager.cc b/mgmt/FileManager.cc
> index 7ae2265..33cafe7 100644
> --- a/mgmt/FileManager.cc
> +++ b/mgmt/FileManager.cc
> @@ -67,7 +67,7 @@ FileManager::FileManager()
> ink_mutex_init(&cbListLock, "File Changed Callback Mutex");
>
> if (varStrFromName("proxy.config.config_dir", configTmp,
> sizeof(configTmp)) == false) {
> - mgmt_fatal(stderr,
> + mgmt_fatal(stderr, 0,
> "[FileManager::FileManager] Unable to find configuration
> directory from proxy.config.config_dir\n");
> }
> if (configTmp[0] != '/') {
> @@ -77,9 +77,9 @@ FileManager::FileManager()
> if (access(configTmp, R_OK) == -1) {
> ink_strlcpy(configTmp, system_config_directory,sizeof(configTmp));
> if (access(configTmp, R_OK) == -1) {
> - mgmt_elog("[FileManager::FileManager] unable to access() directory
> '%s': %d, %s\n",
> + mgmt_elog(0, "[FileManager::FileManager] unable to access()
> directory '%s': %d, %s\n",
> mgmt_path, errno, strerror(errno));
> - mgmt_elog("[FileManager::FileManager] please set config path via
> command line '-path <path>' or 'proxy.config.config_dir' \n");
> + mgmt_elog(0, "[FileManager::FileManager] please set config path via
> command line '-path <path>' or 'proxy.config.config_dir' \n");
> _exit(1);
> }
> }
> @@ -98,7 +98,7 @@ FileManager::FileManager()
> if (access(snapshotDir, F_OK) == -1) {
> if (mkdir(snapshotDir, DIR_MODE) < 0) {
> // Failed to create the snapshot directory
> - mgmt_fatal(stderr, "[FileManager::FileManager] Failed to create the
> snapshot directory %s: %s\n", snapshotDir, strerror(errno));
> + mgmt_fatal(stderr, 0, "[FileManager::FileManager] Failed to create the
> snapshot directory %s: %s\n", snapshotDir, strerror(errno));
> }
> }
> }
> @@ -349,7 +349,7 @@ FileManager::abortRestore(const char *abortTo)
>
> currentVersion = bind->rb->getCurrentVersion();
> if (bind->rb->revertToVersion_ml(currentVersion - 1) != OK_ROLLBACK) {
> - mgmt_fatal(stderr,
> + mgmt_fatal(stderr, 0,
> "[FileManager::abortRestore] Unable to abort a failed
> snapshot restore. Configuration files have been left in a
> inconsistent state\n");
> }
> }
> @@ -708,7 +708,7 @@ FileManager::WalkSnaps(ExpandingArray * snapList)
> //ink_assert(found);
>
> if (varStrFromName("proxy.config.config_dir", config_dir, 256) == false) {
> - mgmt_fatal(stderr,
> + mgmt_fatal(stderr, 0,
> "[FileManager::FileManager] Unable to find configuration
> directory from proxy.config.config_dir\n");
> }
>
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/LocalManager.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/LocalManager.cc b/mgmt/LocalManager.cc
> index 56f3f9e..12adb34 100644
> --- a/mgmt/LocalManager.cc
> +++ b/mgmt/LocalManager.cc
> @@ -241,9 +241,9 @@ LocalManager::LocalManager(char * /* mpath ATS_UNUSED */,
> bool proxy_on)
> if (access(absolute_config_path, R_OK) == -1) {
> config_path = ats_strdup(system_config_directory);
> if (access(config_path, R_OK) == -1) {
> - mgmt_elog("[LocalManager::LocalManager] unable to access() directory
> '%s': %d, %s\n",
> + mgmt_elog(0, "[LocalManager::LocalManager] unable to access()
> directory '%s': %d, %s\n",
> config_path, errno, strerror(errno));
> - mgmt_fatal("[LocalManager::LocalManager] please set config path via
> command line '-path <path>' or 'proxy.config.config_dir' \n");
> + mgmt_fatal(0, "[LocalManager::LocalManager] please set config path
> via command line '-path <path>' or 'proxy.config.config_dir' \n");
> }
> } else {
> config_path = absolute_config_path;
> @@ -294,9 +294,9 @@ LocalManager::LocalManager(char * /* mpath ATS_UNUSED */,
> bool proxy_on)
> absolute_proxy_binary = Layout::relative_to(Layout::get()->bindir,
> proxy_binary);
> // coverity[fs_check_call]
> if (access(absolute_proxy_binary, R_OK | X_OK) == -1) {
> - mgmt_elog("[LocalManager::LocalManager] Unable to access() '%s': %d,
> %s\n",
> + mgmt_elog(0, "[LocalManager::LocalManager] Unable to access() '%s':
> %d, %s\n",
> absolute_proxy_binary, errno, strerror(errno));
> - mgmt_fatal("[LocalManager::LocalManager] please set bin path
> 'proxy.config.bin_path' \n");
> + mgmt_fatal(0, "[LocalManager::LocalManager] please set bin path
> 'proxy.config.bin_path' \n");
> }
> }
>
> @@ -333,7 +333,7 @@ LocalManager::initCCom(int mcport, char *addr, int
> rsport)
> char *envBuf;
>
> if (gethostname(hostname, 1024) < 0) {
> - mgmt_fatal(stderr, "[LocalManager::initCCom] gethostname failed\n");
> + mgmt_fatal(stderr, errno, "[LocalManager::initCCom] gethostname
> failed\n");
> }
> // Fetch which interface we are using for clustering
> intrName = REC_readString("proxy.config.cluster.ethernet_interface",
> &found);
> @@ -341,9 +341,9 @@ LocalManager::initCCom(int mcport, char *addr, int
> rsport)
>
> found = mgmt_getAddrForIntr(intrName, &cluster_ip.sa);
> if (found == false) {
> - mgmt_fatal(stderr, "[LocalManager::initCCom] Unable to find network
> interface %s. Exiting...\n", intrName);
> + mgmt_fatal(stderr, 0, "[LocalManager::initCCom] Unable to find network
> interface %s. Exiting...\n", intrName);
> } else if (!ats_is_ip4(&cluster_ip)) {
> - mgmt_fatal(stderr, "[LocalManager::initCCom] Unable to find IPv4 network
> interface %s. Exiting...\n", intrName);
> + mgmt_fatal(stderr, 0, "[LocalManager::initCCom] Unable to find IPv4
> network interface %s. Exiting...\n", intrName);
> }
>
> ats_ip_ntop(&cluster_ip, clusterAddrStr, sizeof(clusterAddrStr));
> @@ -398,11 +398,11 @@ LocalManager::initMgmtProcessServer()
> snprintf(fpath, sizeof(fpath), "%s/%s", pserver_path,
> LM_CONNECTION_SERVER);
> unlink(fpath);
> if ((process_server_sockfd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
> - mgmt_fatal(stderr, "[LocalManager::initMgmtProcessServer] Unable to open
> socket exiting\n");
> + mgmt_fatal(stderr, errno, "[LocalManager::initMgmtProcessServer] Unable
> to open socket exiting\n");
> }
>
> if (fcntl(process_server_sockfd, F_SETFD, 1) < 0) {
> - mgmt_fatal(stderr, "[LocalManager::initMgmtProcessServer] Unable to set
> close-on-exec\n");
> + mgmt_fatal(stderr, errno, "[LocalManager::initMgmtProcessServer] Unable
> to set close-on-exec\n");
> }
>
> memset(&serv_addr, 0, sizeof(serv_addr));
> @@ -414,15 +414,15 @@ LocalManager::initMgmtProcessServer()
> servlen = strlen(serv_addr.sun_path) + sizeof(serv_addr.sun_family);
> #endif
> if (setsockopt(process_server_sockfd, SOL_SOCKET, SO_REUSEADDR, (char *)
> &one, sizeof(int)) < 0) {
> - mgmt_fatal(stderr, "[LocalManager::initMgmtProcessServer] Unable to set
> socket options.\n");
> + mgmt_fatal(stderr, errno, "[LocalManager::initMgmtProcessServer] Unable
> to set socket options.\n");
> }
>
> if ((bind(process_server_sockfd, (struct sockaddr *) &serv_addr, servlen))
> < 0) {
> - mgmt_fatal(stderr, "[LocalManager::initMgmtProcessServer] Unable to bind
> '%s' socket exiting\n", fpath);
> + mgmt_fatal(stderr, errno, "[LocalManager::initMgmtProcessServer] Unable
> to bind '%s' socket exiting\n", fpath);
> }
>
> if ((listen(process_server_sockfd, 5)) < 0) {
> - mgmt_fatal(stderr, "[LocalManager::initMgmtProcessServer] Unable to
> listen on socket exiting\n");
> + mgmt_fatal(stderr, errno, "[LocalManager::initMgmtProcessServer] Unable
> to listen on socket exiting\n");
> }
>
> RecSetRecordInt("proxy.node.restarts.manager.start_time",
> manager_started_at);
> @@ -484,7 +484,7 @@ LocalManager::pollMgmtProcessServer()
> mgmt_log(stderr, "[LocalManager::pollMgmtProcessServer] New process
> connecting fd '%d'\n", new_sockfd);
>
> if (new_sockfd < 0) {
> - mgmt_elog(stderr, "[LocalManager::pollMgmtProcessServer] ==> ");
> + mgmt_elog(stderr, errno, "[LocalManager::pollMgmtProcessServer]
> ==> ");
> } else if (!processRunning()) {
> watched_process_fd = new_sockfd;
> data_len = sizeof(mgmt_sync_key);
> @@ -493,7 +493,7 @@ LocalManager::pollMgmtProcessServer()
> mh->data_len = data_len;
> memcpy((char *) mh + sizeof(MgmtMessageHdr), &mgmt_sync_key,
> data_len);
> if (mgmt_write_pipe(new_sockfd, (char *) mh,
> sizeof(MgmtMessageHdr) + data_len) <= 0) {
> - mgmt_elog("[LocalManager::pollMgmtProcessServer] Error writing
> sync key message!\n");
> + mgmt_elog(errno, "[LocalManager::pollMgmtProcessServer] Error
> writing sync key message!\n");
> close_socket(new_sockfd);
> watched_process_fd = watched_process_pid = -1;
> }
> @@ -517,10 +517,10 @@ LocalManager::pollMgmtProcessServer()
> if ((res = mgmt_read_pipe(watched_process_fd, data_raw,
> mh_hdr.data_len)) > 0) {
> handleMgmtMsgFromProcesses(mh_full);
> } else if (res < 0) {
> - mgmt_fatal("[LocalManager::pollMgmtProcessServer] Error in read
> (errno: %d)\n", -res);
> + mgmt_fatal(0, "[LocalManager::pollMgmtProcessServer] Error in
> read (errno: %d)\n", -res);
> }
> } else if (res < 0) {
> - mgmt_fatal("[LocalManager::pollMgmtProcessServer] Error in read
> (errno: %d)\n", -res);
> + mgmt_fatal(0, "[LocalManager::pollMgmtProcessServer] Error in read
> (errno: %d)\n", -res);
> }
> // handle EOF
> if (res == 0) {
> @@ -534,12 +534,12 @@ LocalManager::pollMgmtProcessServer()
> waitpid(watched_process_pid, &estatus, 0); /* Reap child */
> if (WIFSIGNALED(estatus)) {
> int sig = WTERMSIG(estatus);
> - mgmt_elog(stderr, "[LocalManager::pollMgmtProcessServer] "
> + mgmt_elog(stderr, 0, "[LocalManager::pollMgmtProcessServer] "
> "Server Process terminated due to Sig %d: %s\n", sig,
> strsignal(sig));
> }
>
> if (lmgmt->run_proxy) {
> - mgmt_elog("[Alarms::signalAlarm] Server Process was reset\n");
> + mgmt_elog(0, "[Alarms::signalAlarm] Server Process was
> reset\n");
> lmgmt->alarm_keeper->signalAlarm(MGMT_ALARM_PROXY_PROCESS_DIED);
> } else {
> mgmt_log("[TrafficManager] Server process shutdown\n");
> @@ -559,7 +559,7 @@ LocalManager::pollMgmtProcessServer()
> ink_assert(num == 0); /* Invariant */
>
> } else if (num < 0) { /* Error */
> - mgmt_elog(stderr, "[LocalManager::pollMgmtProcessServer] select failed
> or was interrupted (%d)\n", errno);
> + mgmt_elog(stderr, 0, "[LocalManager::pollMgmtProcessServer] select
> failed or was interrupted (%d)\n", errno);
> }
>
> }
> @@ -673,7 +673,7 @@ LocalManager::handleMgmtMsgFromProcesses(MgmtMessageHdr *
> mh)
> case MGMT_STRING:
> case MGMT_INVALID:
> default:
> - mgmt_elog(stderr,
> + mgmt_elog(stderr, 0,
> "[LocalManager::handleMgmtMsgFromProcesses] " "Invalid
> plugin set-config msg '%s'\n", data_raw);
> break;
> }
> @@ -766,14 +766,14 @@ LocalManager::sendMgmtMsgToProcesses(MgmtMessageHdr *
> mh)
> if (RecGetRecordType(data_raw, &rec_type) == REC_ERR_OKAY && rec_type ==
> RECT_CONFIG) {
> RecSetSyncRequired(data_raw);
> } else {
> - mgmt_elog(stderr, "[LocalManager:sendMgmtMsgToProcesses] Unknown file
> change: '%s'\n", data_raw);
> + mgmt_elog(stderr, 0, "[LocalManager:sendMgmtMsgToProcesses] Unknown
> file change: '%s'\n", data_raw);
> }
> ink_assert(found);
> if (!(configFiles->getRollbackObj(fname, &rb)) &&
> (strcmp(data_raw, "proxy.config.cluster.cluster_configuration") !=
> 0) &&
> (strcmp(data_raw, "proxy.config.arm.acl_filename_master") != 0) &&
> (strcmp(data_raw, "proxy.config.body_factory.template_sets_dir") !=
> 0)) {
> - mgmt_elog(stderr, "[LocalManager::sendMgmtMsgToProcesses] "
> + mgmt_elog(stderr, 0, "[LocalManager::sendMgmtMsgToProcesses] "
> "Invalid 'data_raw' for MGMT_EVENT_CONFIG_FILE_UPDATE\n");
> ink_assert(false);
> }
> @@ -800,15 +800,15 @@ LocalManager::sendMgmtMsgToProcesses(MgmtMessageHdr *
> mh)
> if (check_prev_pid == check_current_pid) {
> check_current_pid = -1;
> int lerrno = errno;
> - mgmt_elog(stderr, "[LocalManager::sendMgmtMsgToProcesses] Error
> writing message\n");
> + mgmt_elog(stderr, errno, "[LocalManager::sendMgmtMsgToProcesses]
> Error writing message\n");
> if (lerrno == ECONNRESET || lerrno == EPIPE) { // Connection closed
> by peer or Broken pipe
> if ((kill(watched_process_pid, 0) < 0) && (errno == ESRCH)) {
> // TS is down
> pid_t tmp_pid = watched_process_pid;
> close_socket(watched_process_fd);
> - mgmt_elog(stderr, "[LocalManager::pollMgmtProcessServer] "
> "Server Process has been terminated\n");
> + mgmt_elog(stderr, 0, "[LocalManager::pollMgmtProcessServer] "
> "Server Process has been terminated\n");
> if (lmgmt->run_proxy) {
> - mgmt_elog("[Alarms::signalAlarm] Server Process was reset\n");
> + mgmt_elog(0, "[Alarms::signalAlarm] Server Process was
> reset\n");
> lmgmt->alarm_keeper->signalAlarm(MGMT_ALARM_PROXY_PROCESS_DIED);
> } else {
> mgmt_log("[TrafficManager] Server process shutdown\n");
> @@ -899,7 +899,7 @@ LocalManager::processEventQueue()
> if (!(strcmp(data_raw, "records.config"))) {
> bool incVersion = mh->msg_id == MGMT_EVENT_CONFIG_FILE_UPDATE;
> if (RecReadConfigFile(incVersion) != REC_ERR_OKAY) {
> - mgmt_elog(stderr, "[fileUpdated] Config update failed for
> records.config\n");
> + mgmt_elog(stderr, errno, "[fileUpdated] Config update failed for
> records.config\n");
> }
> handled_by_mgmt = true;
> }
> @@ -939,13 +939,13 @@ LocalManager::startProxy()
> // the traffic server binary along with it's execute permmissions
> if (access(absolute_proxy_binary, F_OK) < 0) {
> // Error can't find traffic_server
> - mgmt_elog(stderr, "[LocalManager::startProxy] Unable to find traffic
> server at %s\n", absolute_proxy_binary);
> + mgmt_elog(stderr, errno, "[LocalManager::startProxy] Unable to find
> traffic server at %s\n", absolute_proxy_binary);
> return false;
> }
> // traffic server binary exists, check permissions
> else if (access(absolute_proxy_binary, R_OK | X_OK) < 0) {
> // Error don't have proper permissions
> - mgmt_elog(stderr, "[LocalManager::startProxy] Unable to access %s due to
> bad permisssions \n",
> + mgmt_elog(stderr, errno, "[LocalManager::startProxy] Unable to access %s
> due to bad permisssions \n",
> absolute_proxy_binary);
> return false;
> }
> @@ -957,7 +957,7 @@ LocalManager::startProxy()
> if ((pid = fork1()) < 0)
> #endif
> {
> - mgmt_elog(stderr, "[LocalManager::startProxy] Unable to fork1 prep
> process\n");
> + mgmt_elog(stderr, errno, "[LocalManager::startProxy] Unable to fork1
> prep process\n");
> return false;
> } else if (pid > 0) {
> int estatus;
> @@ -977,7 +977,7 @@ LocalManager::startProxy()
> if ((pid = fork1()) < 0)
> #endif
> {
> - mgmt_elog(stderr, "[LocalManager::startProxy] Unable to fork1
> process\n");
> + mgmt_elog(stderr, errno, "[LocalManager::startProxy] Unable to fork1
> process\n");
> return false;
> } else if (pid > 0) { /* Parent */
> proxy_launch_pid = pid;
> @@ -1037,11 +1037,11 @@ LocalManager::startProxy()
> }
>
> if (!strstr(proxy_options, "-M")) { // Make sure we're starting the
> proxy in mgmt mode
> - mgmt_fatal(stderr, "[LocalManager::startProxy] ts options must contain
> -M");
> + mgmt_fatal(stderr, 0, "[LocalManager::startProxy] ts options must
> contain -M");
> }
>
> res = execv(absolute_proxy_binary, options);
> - mgmt_elog(stderr, "[LocalManager::startProxy] Exec of %s failed\n",
> absolute_proxy_binary);
> + mgmt_elog(stderr, errno, "[LocalManager::startProxy] Exec of %s
> failed\n", absolute_proxy_binary);
> _exit(res);
> }
> return true;
> @@ -1085,7 +1085,7 @@ LocalManager::listenForProxy()
> }
>
> if ((listen(p.m_fd, backlog)) < 0) {
> - mgmt_fatal(stderr, "[LocalManager::listenForProxy] Unable to listen on
> socket: %d\n", p.m_port);
> + mgmt_fatal(stderr, errno, "[LocalManager::listenForProxy] Unable to
> listen on socket: %d\n", p.m_port);
> }
> mgmt_log(stderr, "[LocalManager::listenForProxy] Listening on port:
> %d\n", p.m_port);
> }
> @@ -1109,7 +1109,7 @@ LocalManager::bindProxyPort(HttpProxyPort& port)
>
> if (port.m_port < 1024 && euid != 0) {
> if (restoreRootPriv(&saved_euid) == false) {
> - mgmt_elog(stderr, "[bindProxyPort] Unable to get root priviledges to
> bind port %d. euid is %d. Exiting\n",
> + mgmt_elog(stderr, 0, "[bindProxyPort] Unable to get root priviledges
> to bind port %d. euid is %d. Exiting\n",
> port.m_port, euid);
> _exit(0);
> } else {
> @@ -1120,7 +1120,7 @@ LocalManager::bindProxyPort(HttpProxyPort& port)
>
> /* Setup reliable connection, for large config changes */
> if ((port.m_fd = socket(port.m_family, SOCK_STREAM, 0)) < 0) {
> - mgmt_elog(stderr, "[bindProxyPort] Unable to create socket : %s\n",
> strerror(errno));
> + mgmt_elog(stderr, 0, "[bindProxyPort] Unable to create socket : %s\n",
> strerror(errno));
> _exit(1);
> }
>
> @@ -1137,11 +1137,11 @@ LocalManager::bindProxyPort(HttpProxyPort& port)
>
> if (port.m_family == AF_INET6) {
> if (setsockopt(port.m_fd, IPPROTO_IPV6, IPV6_V6ONLY, SOCKOPT_ON,
> sizeof(int)) < 0) {
> - mgmt_elog(stderr, "[bindProxyPort] Unable to set socket options: %d :
> %s\n", port.m_port, strerror(errno));
> + mgmt_elog(stderr, 0, "[bindProxyPort] Unable to set socket options: %d
> : %s\n", port.m_port, strerror(errno));
> }
> }
> if (setsockopt(port.m_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &one,
> sizeof(int)) < 0) {
> - mgmt_elog(stderr, "[bindProxyPort] Unable to set socket options: %d :
> %s\n", port.m_port, strerror(errno));
> + mgmt_elog(stderr, 0, "[bindProxyPort] Unable to set socket options: %d :
> %s\n", port.m_port, strerror(errno));
> _exit(1);
> }
>
> @@ -1149,7 +1149,7 @@ LocalManager::bindProxyPort(HttpProxyPort& port)
> #if TS_USE_TPROXY
> Debug("http_tproxy", "Listen port %d inbound transparency enabled.\n",
> port.m_port);
> if (setsockopt(port.m_fd, SOL_IP, TS_IP_TRANSPARENT, &one, sizeof(one))
> == -1) {
> - mgmt_elog(stderr, "[bindProxyPort] Unable to set transparent socket
> option [%d] %s\n", errno, strerror(errno));
> + mgmt_elog(stderr, 0, "[bindProxyPort] Unable to set transparent socket
> option [%d] %s\n", errno, strerror(errno));
> _exit(1);
> }
> #else
> @@ -1167,12 +1167,12 @@ LocalManager::bindProxyPort(HttpProxyPort& port)
> if (m_inbound_ip4.isValid()) ip.assign(m_inbound_ip4);
> else ip.setToAnyAddr(AF_INET);
> } else {
> - mgmt_elog(stderr, "[bindProxyPort] Proxy port with invalid address type
> %d\n", port.m_family);
> + mgmt_elog(stderr, 0, "[bindProxyPort] Proxy port with invalid address
> type %d\n", port.m_family);
> _exit(1);
> }
> ip.port() = htons(port.m_port);
> if (bind(port.m_fd, &ip.sa, ats_ip_size(&ip)) < 0) {
> - mgmt_elog(stderr, "[bindProxyPort] Unable to bind socket: %d : %s\n",
> port.m_port, strerror(errno));
> + mgmt_elog(stderr, 0, "[bindProxyPort] Unable to bind socket: %d : %s\n",
> port.m_port, strerror(errno));
> _exit(1);
> }
>
> @@ -1182,7 +1182,7 @@ LocalManager::bindProxyPort(HttpProxyPort& port)
> if (port.m_port < 1024 && euid != 0) {
> if (privBoost == true) {
> if (removeRootPriv(saved_euid) == false) {
> - mgmt_elog(stderr, "[bindProxyPort] Unable to reset permissions to
> euid %d. Exiting...\n", getuid());
> + mgmt_elog(stderr, 0, "[bindProxyPort] Unable to reset permissions to
> euid %d. Exiting...\n", getuid());
> _exit(1);
> }
> }
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/Main.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/Main.cc b/mgmt/Main.cc
> index f752220..8dde9b6 100644
> --- a/mgmt/Main.cc
> +++ b/mgmt/Main.cc
> @@ -132,10 +132,10 @@ check_lockfile()
> #else
> fprintf(stderr, "FATAL: Lockfile '%s' says server already running as
> PID %d\n", lockfile, holding_pid);
> #endif
> - mgmt_elog(stderr, "FATAL: Lockfile '%s' says server already running as
> PID %d\n", lockfile, holding_pid);
> + mgmt_elog(stderr, 0, "FATAL: Lockfile '%s' says server already running
> as PID %d\n", lockfile, holding_pid);
> } else {
> fprintf(stderr, "FATAL: Can't open server lockfile '%s' (%s)\n",
> lockfile, (reason ? reason : "Unknown Reason"));
> - mgmt_elog(stderr, "FATAL: Can't open server lockfile '%s' (%s)\n",
> + mgmt_elog(stderr, 0, "FATAL: Can't open server lockfile '%s' (%s)\n",
> lockfile, (reason ? reason : "Unknown Reason"));
> }
> exit(1);
> @@ -150,17 +150,17 @@ check_lockfile()
> if (err != 1) {
> char *reason = strerror(-err);
> fprintf(stderr, "FATAL: Can't acquire manager lockfile '%s'", lockfile);
> - mgmt_elog(stderr, "FATAL: Can't acquire manager lockfile '%s'",
> lockfile);
> + mgmt_elog(stderr, 0, "FATAL: Can't acquire manager lockfile '%s'",
> lockfile);
> if (err == 0) {
> #if defined(solaris)
> fprintf(stderr, " (Lock file held by process ID %d)\n",
> (int)holding_pid);
> #else
> fprintf(stderr, " (Lock file held by process ID %d)\n", holding_pid);
> #endif
> - mgmt_elog(stderr, " (Lock file held by process ID %d)\n",
> holding_pid);
> + mgmt_elog(stderr, 0, " (Lock file held by process ID %d)\n",
> holding_pid);
> } else if (reason) {
> fprintf(stderr, " (%s)\n", reason);
> - mgmt_elog(stderr, " (%s)\n", reason);
> + mgmt_elog(stderr, 0, " (%s)\n", reason);
> } else {
> fprintf(stderr, "\n");
> }
> @@ -278,8 +278,8 @@ init_dirs()
> REC_ReadConfigString(buf, "proxy.config.config_dir", PATH_NAME_MAX);
> Layout::get()->relative(system_config_directory, PATH_NAME_MAX, buf);
> if (access(system_config_directory, R_OK) == -1) {
> - mgmt_elog("unable to access() config dir '%s': %d, %s\n",
> system_config_directory, errno, strerror(errno));
> - mgmt_elog("please set config path via 'proxy.config.config_dir' \n");
> + mgmt_elog(0, "unable to access() config dir '%s': %d, %s\n",
> system_config_directory, errno, strerror(errno));
> + mgmt_elog(0, "please set config path via 'proxy.config.config_dir' \n");
> _exit(1);
> }
>
> @@ -288,16 +288,16 @@ init_dirs()
> REC_ReadConfigString(buf, "proxy.config.local_state_dir", PATH_NAME_MAX);
> Layout::get()->relative(system_runtime_dir, PATH_NAME_MAX, buf);
> if (access(system_runtime_dir, R_OK) == -1) {
> - mgmt_elog("unable to access() local state dir '%s': %d, %s\n",
> system_runtime_dir, errno, strerror(errno));
> - mgmt_elog("please set 'proxy.config.local_state_dir'\n");
> + mgmt_elog(0, "unable to access() local state dir '%s': %d, %s\n",
> system_runtime_dir, errno, strerror(errno));
> + mgmt_elog(0, "please set 'proxy.config.local_state_dir'\n");
> _exit(1);
> }
>
> REC_ReadConfigString(buf, "proxy.config.log.logfile_dir", PATH_NAME_MAX);
> Layout::get()->relative(system_log_dir, PATH_NAME_MAX, buf);
> if (access(system_log_dir, W_OK) == -1) {
> - mgmt_elog("unable to access() log dir'%s': %d, %s\n", system_log_dir,
> errno, strerror(errno));
> - mgmt_elog("please set 'proxy.config.log.logfile_dir'\n");
> + mgmt_elog(0, "unable to access() log dir'%s': %d, %s\n", system_log_dir,
> errno, strerror(errno));
> + mgmt_elog(0, "please set 'proxy.config.log.logfile_dir'\n");
> _exit(1);
> }
> }
> @@ -307,8 +307,8 @@ chdir_root()
> {
>
> if (system_root_dir[0] && (chdir(system_root_dir) < 0)) {
> - mgmt_elog("unable to change to root directory \"%s\" [%d '%s']\n",
> system_root_dir, errno, strerror(errno));
> - mgmt_elog(" please set correct path in env variable TS_ROOT \n");
> + mgmt_elog(0, "unable to change to root directory \"%s\" [%d '%s']\n",
> system_root_dir, errno, strerror(errno));
> + mgmt_elog(0, " please set correct path in env variable TS_ROOT \n");
> exit(1);
> } else {
> mgmt_log("[TrafficManager] using root directory
> '%s'\n",system_root_dir);
> @@ -357,7 +357,7 @@ Errata_Logger(ts::Errata const& err) {
> while (n && (buff[n-1] == '\n' || buff[n-1] == '\r'))
> buff[--n] = 0;
> // log it.
> - if (code > 1) mgmt_elog("[WCCP]%s", buff);
> + if (code > 1) mgmt_elog(0, "[WCCP]%s", buff);
> else if (code > 0) mgmt_log("[WCCP]%s", buff);
> else Debug("WCCP", "%s", buff);
> }
> @@ -627,13 +627,13 @@ main(int argc, char **argv)
> ink_assert(found);
>
> if (!found) {
> - mgmt_elog("Could not read %s. Defaulting to DAEMON\n", sys_var);
> + mgmt_elog(0, "Could not read %s. Defaulting to DAEMON\n", sys_var);
> facility_int = LOG_DAEMON;
> } else {
> facility_int = facility_string_to_int(facility_str);
> ats_free(facility_str);
> if (facility_int < 0) {
> - mgmt_elog("Bad syslog facility specified. Defaulting to DAEMON\n");
> + mgmt_elog(0, "Bad syslog facility specified. Defaulting to
> DAEMON\n");
> facility_int = LOG_DAEMON;
> }
> }
> @@ -709,7 +709,7 @@ main(int argc, char **argv)
> in_addr_t group_addr_ip = inet_network(group_addr);
>
> if (!(min_ip < group_addr_ip && group_addr_ip < max_ip)) {
> - mgmt_fatal("[TrafficManager] Multi-Cast group addr '%s' is not in the
> permitted range of %s\n",
> + mgmt_fatal(0, "[TrafficManager] Multi-Cast group addr '%s' is not in the
> permitted range of %s\n",
> group_addr, "224.0.1.0 - 239.255.255.255");
> }
>
> @@ -835,8 +835,8 @@ SignalAlrmHandler(int /* sig ATS_UNUSED */)
> #endif
> {
> /*
> - fprintf(stderr,"[TrafficManager] ==> SIGALRM received\n");
> - mgmt_elog(stderr,"[TrafficManager] ==> SIGALRM received\n");
> + fprintf(stderr, "[TrafficManager] ==> SIGALRM received\n");
> + mgmt_elog(stderr, 0, "[TrafficManager] ==> SIGALRM received\n");
> */
> #if !defined(linux) && !defined(freebsd) && !defined(darwin)
> if (t) {
> @@ -846,10 +846,10 @@ SignalAlrmHandler(int /* sig ATS_UNUSED */)
> #else
> fprintf(stderr, "[TrafficManager] ==> User Alarm from pid: %d uid:
> %d\n", t->si_pid, t->si_uid);
> #endif
> - mgmt_elog(stderr, "[TrafficManager] ==> User Alarm from pid: %d uid:
> %d\n", t->si_pid, t->si_uid);
> + mgmt_elog(stderr, 0, "[TrafficManager] ==> User Alarm from pid: %d
> uid: %d\n", t->si_pid, t->si_uid);
> } else {
> fprintf(stderr, "[TrafficManager] ==> Kernel Alarm Reason: %d\n",
> t->si_code);
> - mgmt_elog(stderr, "[TrafficManager] ==> Kernel Alarm Reason: %d\n",
> t->si_code);
> + mgmt_elog(stderr, 0, "[TrafficManager] ==> Kernel Alarm Reason: %d\n",
> t->si_code);
> }
> }
> #endif
> @@ -877,10 +877,10 @@ SignalHandler(int sig)
> #else
> fprintf(stderr, "[TrafficManager] ==> User Sig %d from pid: %d uid:
> %d\n", sig, t->si_pid, t->si_uid);
> #endif
> - mgmt_elog(stderr, "[TrafficManager] ==> User Sig %d from pid: %d uid:
> %d\n", sig, t->si_pid, t->si_uid);
> + mgmt_elog(stderr, 0, "[TrafficManager] ==> User Sig %d from pid: %d
> uid: %d\n", sig, t->si_pid, t->si_uid);
> } else {
> fprintf(stderr, "[TrafficManager] ==> Kernel Sig %d; Reason: %d\n",
> sig, t->si_code);
> - mgmt_elog(stderr, "[TrafficManager] ==> Kernel Sig %d; Reason: %d\n",
> sig, t->si_code);
> + mgmt_elog(stderr, 0, "[TrafficManager] ==> Kernel Sig %d; Reason:
> %d\n", sig, t->si_code);
> }
> }
> #endif
> @@ -896,7 +896,7 @@ SignalHandler(int sig)
> return;
> }
> fprintf(stderr, "[TrafficManager] ==> Cleaning up and reissuing signal
> #%d\n", sig);
> - mgmt_elog(stderr, "[TrafficManager] ==> Cleaning up and reissuing signal
> #%d\n", sig);
> + mgmt_elog(stderr, 0, "[TrafficManager] ==> Cleaning up and reissuing
> signal #%d\n", sig);
>
> if (lmgmt && !clean) {
> clean = 1;
> @@ -926,11 +926,11 @@ SignalHandler(int sig)
> abort();
> default:
> fprintf(stderr, "[TrafficManager] ==> signal #%d\n", sig);
> - mgmt_elog(stderr, "[TrafficManager] ==> signal #%d\n", sig);
> + mgmt_elog(stderr, 0, "[TrafficManager] ==> signal #%d\n", sig);
> _exit(sig);
> }
> fprintf(stderr, "[TrafficManager] ==> signal2 #%d\n", sig);
> - mgmt_elog(stderr, "[TrafficManager] ==> signal2 #%d\n", sig);
> + mgmt_elog(stderr, 0, "[TrafficManager] ==> signal2 #%d\n", sig);
> _exit(sig);
> } /* End SignalHandler */
>
> @@ -1063,7 +1063,7 @@ fileUpdated(char *fname, bool incVersion)
> } else if (strcmp(fname, "prefetch.config") == 0) {
> lmgmt->signalFileChange("proxy.config.prefetch.config_file");
> } else {
> - mgmt_elog(stderr, "[fileUpdated] Unknown config file updated '%s'\n",
> fname);
> + mgmt_elog(stderr, 0, "[fileUpdated] Unknown config file updated '%s'\n",
> fname);
>
> }
> return;
> @@ -1133,7 +1133,7 @@ runAsUser(char *userName)
>
>
> if (userName == NULL || userName[0] == '\0') {
> - mgmt_elog(stderr, "[runAsUser] Fatal Error: proxy.config.admin.user_id
> is not set\n", userName, strerror(errno));
> + mgmt_elog(stderr, 0, "[runAsUser] Fatal Error:
> proxy.config.admin.user_id is not set\n");
> _exit(1);
> }
>
> @@ -1159,12 +1159,12 @@ runAsUser(char *userName)
> }
>
> if (result == NULL) {
> - mgmt_elog(stderr, "[runAsUser] Fatal Error: Unable to get info about
> user %s : %s\n", userName, strerror(errno));
> + mgmt_elog(stderr, 0, "[runAsUser] Fatal Error: Unable to get info
> about user %s : %s\n", userName, strerror(errno));
> _exit(1);
> }
>
> if (setegid(result->pw_gid) != 0 || seteuid(result->pw_uid) != 0) {
> - mgmt_elog(stderr, "[runAsUser] Fatal Error: Unable to switch to user
> %s : %s\n", userName, strerror(errno));
> + mgmt_elog(stderr, 0, "[runAsUser] Fatal Error: Unable to switch to
> user %s : %s\n", userName, strerror(errno));
> _exit(1);
> }
>
> @@ -1175,7 +1175,7 @@ runAsUser(char *userName)
> Debug("lm", "[runAsUser] Running with uid: '%d' euid: '%d'\n", uid,
> euid);
>
> if (uid != result->pw_uid && euid != result->pw_uid) {
> - mgmt_elog(stderr, "[runAsUser] Fatal Error: Failed to switch to user
> %s\n", userName);
> + mgmt_elog(stderr, 0, "[runAsUser] Fatal Error: Failed to switch to
> user %s\n", userName);
> _exit(1);
> }
>
> @@ -1186,7 +1186,7 @@ runAsUser(char *userName)
>
> #if TS_USE_POSIX_CAP
> if (0 != restoreCapabilities()) {
> - mgmt_elog(stderr, "[runAsUser] Error: Failed to restore capabilities
> after switch to user %s.\n", userName);
> + mgmt_elog(stderr, 0, "[runAsUser] Error: Failed to restore
> capabilities after switch to user %s.\n", userName);
> }
> #endif
>
> @@ -1217,7 +1217,7 @@ extractConfigInfo(char *mgmt_path, const char
> *recs_conf, char *userName, int *f
> if (!(fin = fopen(file, "r"))) {
> ink_filepath_make(file, sizeof(file), mgmt_path, recs_conf);
> if (!(fin = fopen(file, "r"))) {
> - mgmt_elog(stderr, "[extractConfigInfo] Unable to open config
> file(%s)\n", file);
> + mgmt_elog(stderr, errno, "[extractConfigInfo] Unable to open config
> file(%s)\n", file);
> _exit(1);
> }
> }
> @@ -1238,12 +1238,12 @@ extractConfigInfo(char *mgmt_path, const char
> *recs_conf, char *userName, int *f
> }
> fclose(fin);
> } else {
> - mgmt_elog(stderr, "[extractConfigInfo] Fatal Error: unable to access
> records file\n");
> + mgmt_elog(stderr, 0, "[extractConfigInfo] Fatal Error: unable to access
> records file\n");
> _exit(1);
> }
>
> if (useridFound == false) {
> - mgmt_elog(stderr, "[extractConfigInfo] Fatal Error:
> proxy.config.admin.user_id is not set\n");
> + mgmt_elog(stderr, 0, "[extractConfigInfo] Fatal Error:
> proxy.config.admin.user_id is not set\n");
> _exit(1);
> }
>
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/ProcessManager.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/ProcessManager.cc b/mgmt/ProcessManager.cc
> index b582cec..5490a24 100644
> --- a/mgmt/ProcessManager.cc
> +++ b/mgmt/ProcessManager.cc
> @@ -151,7 +151,7 @@ ProcessManager::processSignalQueue()
> Debug("pmgmt", "[ProcessManager] ==> Signalling local manager '%d'\n",
> mh->msg_id);
>
> if (require_lm && mgmt_write_pipe(local_manager_sockfd, (char *) mh,
> sizeof(MgmtMessageHdr) + mh->data_len) <= 0) {
> - mgmt_fatal(stderr, "[ProcessManager::processSignalQueue] Error writing
> message!");
> + mgmt_fatal(stderr, errno, "[ProcessManager::processSignalQueue] Error
> writing message!");
> //ink_assert(enqueue(mgmt_signal_queue, mh));
> } else {
> ats_free(mh);
> @@ -188,15 +188,15 @@ ProcessManager::initLMConnection()
> servlen = strlen(serv_addr.sun_path) + sizeof(serv_addr.sun_family);
> #endif
> if ((local_manager_sockfd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
> - mgmt_fatal(stderr, "[ProcessManager::initLMConnection] Unable to create
> socket\n");
> + mgmt_fatal(stderr, errno, "[ProcessManager::initLMConnection] Unable to
> create socket\n");
> }
>
> if (fcntl(local_manager_sockfd, F_SETFD, 1) < 0) {
> - mgmt_fatal(stderr, "[ProcessManager::initLMConnection] Unable to set
> close-on-exec\n");
> + mgmt_fatal(stderr, errno, "[ProcessManager::initLMConnection] Unable to
> set close-on-exec\n");
> }
>
> if ((connect(local_manager_sockfd, (struct sockaddr *) &serv_addr,
> servlen)) < 0) {
> - mgmt_fatal(stderr, "[ProcessManager::initLMConnection] Connect
> failed\n");
> + mgmt_fatal(stderr, errno, "[ProcessManager::initLMConnection] Connect
> failed\n");
> }
>
> data_len = sizeof(pid_t);
> @@ -205,19 +205,19 @@ ProcessManager::initLMConnection()
> mh_full->data_len = data_len;
> memcpy((char *) mh_full + sizeof(MgmtMessageHdr), &(pid), data_len);
> if (mgmt_write_pipe(local_manager_sockfd, (char *) mh_full,
> sizeof(MgmtMessageHdr) + data_len) <= 0) {
> - mgmt_fatal(stderr, "[ProcessManager::initLMConnection] Error writing
> message!\n");
> + mgmt_fatal(stderr, errno, "[ProcessManager::initLMConnection] Error
> writing message!\n");
> }
>
> /* Read SYNC_KEY from manager */
> if (mgmt_read_pipe(local_manager_sockfd, (char *) &mh_hdr,
> sizeof(MgmtMessageHdr)) <= 0) {
> - mgmt_fatal(stderr, "[ProcessManager::initLMConnection] Error reading sem
> message!\n");
> + mgmt_fatal(stderr, errno, "[ProcessManager::initLMConnection] Error
> reading sem message!\n");
> } else {
> // coverity[uninit_use]
> mh_full = (MgmtMessageHdr *) alloca(sizeof(MgmtMessageHdr) +
> mh_hdr.data_len);
> memcpy(mh_full, &mh_hdr, sizeof(MgmtMessageHdr));
> sync_key_raw = (char *) mh_full + sizeof(MgmtMessageHdr);
> if (mgmt_read_pipe(local_manager_sockfd, sync_key_raw, mh_hdr.data_len)
> < 0) {
> - mgmt_fatal(stderr, "[ProcessManager::initLMConnection] Error reading
> sem message!\n");
> + mgmt_fatal(stderr, errno, "[ProcessManager::initLMConnection] Error
> reading sem message!\n");
> }
> }
>
> @@ -266,19 +266,19 @@ ProcessManager::pollLMConnection()
> Debug("pmgmt", "[ProcessManager::pollLMConnection] Message: '%d'",
> mh_full->msg_id);
> handleMgmtMsgFromLM(mh_full);
> } else if (res < 0) {
> - mgmt_fatal(stderr, "[ProcessManager::pollLMConnection] Error in
> read!");
> + mgmt_fatal(stderr, errno, "[ProcessManager::pollLMConnection]
> Error in read!");
> }
> } else if (res < 0) {
> - mgmt_fatal(stderr, "[ProcessManager::pollLMConnection] Error in
> read!");
> + mgmt_fatal(stderr, errno, "[ProcessManager::pollLMConnection] Error
> in read!");
> }
> // handle EOF
> if (res == 0) {
> close_socket(local_manager_sockfd);
> - mgmt_fatal(stderr, "[ProcessManager::pollLMConnection] Lost Manager
> EOF!");
> + mgmt_fatal(stderr, 0, "[ProcessManager::pollLMConnection] Lost
> Manager EOF!");
> }
>
> } else if (num < 0) { /* Error */
> - mgmt_elog(stderr, "[ProcessManager::pollLMConnection] select failed or
> was interrupted (%d)\n", errno);
> + mgmt_elog(stderr, 0, "[ProcessManager::pollLMConnection] select failed
> or was interrupted (%d)\n", errno);
> }
>
> }
> @@ -332,7 +332,7 @@ ProcessManager::handleMgmtMsgFromLM(MgmtMessageHdr * mh)
> signalMgmtEntity(MGMT_EVENT_LIBRECORDS, data_raw, mh->data_len);
> break;
> default:
> - mgmt_elog(stderr, "[ProcessManager::pollLMConnection] unknown type
> %d\n", mh->msg_id);
> + mgmt_elog(stderr, 0, "[ProcessManager::pollLMConnection] unknown type
> %d\n", mh->msg_id);
> break;
> }
> }
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/Rollback.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/Rollback.cc b/mgmt/Rollback.cc
> index 76ed82e..0a4c961 100644
> --- a/mgmt/Rollback.cc
> +++ b/mgmt/Rollback.cc
> @@ -81,9 +81,9 @@ Rollback::Rollback(const char *baseFileName, bool
> root_access_needed_)
> }
>
> if ((err = stat(system_config_directory, &s)) < 0) {
> - mgmt_elog("[Rollback::Rollback] unable to stat() directory '%s': %d %d,
> %s\n",
> + mgmt_elog(0, "[Rollback::Rollback] unable to stat() directory '%s': %d
> %d, %s\n",
> system_config_directory, err, errno, strerror(errno));
> - mgmt_elog("[Rollback::Rollback] please set config path via command line
> '-path <path>' or 'proxy.config.config_dir' \n");
> + mgmt_elog(0, "[Rollback::Rollback] please set config path via command
> line '-path <path>' or 'proxy.config.config_dir' \n");
> _exit(1);
> }
>
> @@ -157,7 +157,7 @@ Rollback::Rollback(const char *baseFileName, bool
> root_access_needed_)
> ats_free(alarmMsg);
> closeFile(fd);
> } else {
> - mgmt_fatal(stderr,
> + mgmt_fatal(stderr, 0,
> "[RollBack::Rollback] Unable to find configuration file
> %s.\n\tCreation of a placeholder failed : %s\n",
> fileName, strerror(errno));
> }
> @@ -168,7 +168,7 @@ Rollback::Rollback(const char *baseFileName, bool
> root_access_needed_)
> } else {
> // If is there but we can not stat it, it is unusable to manager
> // probably due to permissions problems. Bail!
> - mgmt_fatal(stderr, "[RollBack::Rollback] Unable to find configuration
> file %s.\n\tStat failed : %s\n",
> + mgmt_fatal(stderr, 0, "[RollBack::Rollback] Unable to find
> configuration file %s.\n\tStat failed : %s\n",
> fileName, strerror(errno));
> }
> } else {
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/api/NetworkUtilsLocal.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/api/NetworkUtilsLocal.cc b/mgmt/api/NetworkUtilsLocal.cc
> index 595f007..03b4666 100644
> --- a/mgmt/api/NetworkUtilsLocal.cc
> +++ b/mgmt/api/NetworkUtilsLocal.cc
> @@ -67,7 +67,7 @@ socket_flush(struct SocketInfo sock_info)
> continue;
>
> Debug("ts_main", "[socket_read_n] socket read for version byte
> failed.\n");
> - mgmt_elog("[socket_flush] (TS_ERR_NET_READ) %s\n", strerror(errno));
> + mgmt_elog(0, "[socket_flush] (TS_ERR_NET_READ) %s\n",
> strerror(errno));
> return TS_ERR_NET_READ;
> }
>
> @@ -79,7 +79,7 @@ socket_flush(struct SocketInfo sock_info)
> byte_read += ret;
> }
>
> - mgmt_elog("[socket_flush] uh oh! didn't finish flushing socket!\n");
> + mgmt_elog(0, "[socket_flush] uh oh! didn't finish flushing socket!\n");
> return TS_ERR_FAIL;
> }
>
> @@ -110,7 +110,7 @@ socket_read_n(struct SocketInfo sock_info, char *buf, int
> bytes)
> continue;
>
> Debug("ts_main", "[socket_read_n] socket read for version byte
> failed.\n");
> - mgmt_elog("[socket_read_n] (TS_ERR_NET_READ) %s\n", strerror(errno));
> + mgmt_elog(0, "[socket_read_n] (TS_ERR_NET_READ) %s\n",
> strerror(errno));
> return TS_ERR_NET_READ;
> }
>
> @@ -148,7 +148,7 @@ socket_write_n(struct SocketInfo sock_info, const char
> *buf, int bytes)
>
> if (ret < 0) {
> Debug("ts_main", "[socket_write_n] return error %s \n",
> strerror(errno));
> - mgmt_elog("[socket_write_n] %s\n", strerror(errno));
> + mgmt_elog(0, "[socket_write_n] %s\n", strerror(errno));
> if (errno == EAGAIN)
> continue;
>
> @@ -156,7 +156,7 @@ socket_write_n(struct SocketInfo sock_info, const char
> *buf, int bytes)
> }
>
> if (ret == 0) {
> - mgmt_elog("[socket_write_n] %s\n", strerror(errno));
> + mgmt_elog(0, "[socket_write_n] %s\n", strerror(errno));
> return TS_ERR_NET_EOF;
> }
> // we are all good here
> @@ -198,7 +198,7 @@ preprocess_msg(struct SocketInfo sock_info, OpType *
> op_t, char **req)
>
> // check if invalid op type
> if ((int) op > UNDEFINED_OP) {
> - mgmt_elog("[preprocess_msg] ERROR: %d is invalid op type\n", op);
> + mgmt_elog(0, "[preprocess_msg] ERROR: %d is invalid op type\n", op);
>
> // need to flush the invalid message from the socket
> if ((ret = socket_flush(sock_info)) != TS_ERR_NET_EOF)
> @@ -211,7 +211,7 @@ preprocess_msg(struct SocketInfo sock_info, OpType *
> op_t, char **req)
> // now read the request msg size
> ret = socket_read_n(sock_info, (char *) &req_len, SIZE_LEN);
> if (ret != TS_ERR_OKAY) {
> - mgmt_elog("[preprocess_msg] ERROR %d reading msg size\n", ret);
> + mgmt_elog(0, "[preprocess_msg] ERROR %d reading msg size\n", ret);
> Debug("ts_main", "[preprocess_msg] ERROR %d reading msg size\n", ret);
> goto Lerror;
> }
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/cluster/ClusterCom.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/cluster/ClusterCom.cc b/mgmt/cluster/ClusterCom.cc
> index e0ef793..0fac4ea 100644
> --- a/mgmt/cluster/ClusterCom.cc
> +++ b/mgmt/cluster/ClusterCom.cc
> @@ -189,11 +189,11 @@ drainIncomingChannel(void *arg)
> int clilen = sizeof(cli_addr);
> int req_fd = mgmt_accept(lmgmt->ccom->reliable_server_fd, (struct
> sockaddr *) &cli_addr, &clilen);
> if (req_fd < 0) {
> - mgmt_elog(stderr, "[drainIncomingChannel] error accepting "
> "reliable connection\n");
> + mgmt_elog(stderr, errno, "[drainIncomingChannel] error accepting "
> "reliable connection\n");
> continue;
> }
> if (fcntl(req_fd, F_SETFD, 1) < 0) {
> - mgmt_elog(stderr, "[drainIncomingChannel] Unable to set close " "on
> exec flag\n");
> + mgmt_elog(stderr, errno, "[drainIncomingChannel] Unable to set close
> " "on exec flag\n");
> close(req_fd);
> continue;
> }
> @@ -239,7 +239,7 @@ drainIncomingChannel(void *arg)
>
> /* Wait for peer to read status */
> if (mgmt_readline(req_fd, message, 61440) != 0) {
> - mgmt_elog("[drainIncomingChannel] Connection not closed\n");
> + mgmt_elog(0, "[drainIncomingChannel] Connection not closed\n");
> }
> } else if (strstr(message, "map: ")) {
> /* Explicit virtual ip map request */
> @@ -269,7 +269,7 @@ drainIncomingChannel(void *arg)
>
> /* Wait for peer to read status */
> if (mgmt_readline(req_fd, message, 61440) != 0) {
> - mgmt_elog("[drainIncomingChannel] Connection not closedx\n");
> + mgmt_elog(0, "[drainIncomingChannel] Connection not closed\n");
> }
>
> } else if (strstr(message, "file: ")) {
> @@ -298,7 +298,7 @@ drainIncomingChannel(void *arg)
> Debug("ccom", "[drainIncomingChannel] file req: %s v: %d
> bytes: %d\n", fname, ver, (int)strlen(buff->bufPtr()));
> }
> } else {
> - mgmt_elog("[drainIncomingChannel] Error file req: %s ver: %d\n",
> fname, ver);
> + mgmt_elog(0, "[drainIncomingChannel] Error file req: %s ver:
> %d\n", fname, ver);
> }
>
> if (!stat) {
> @@ -371,7 +371,7 @@ ClusterCom::ClusterCom(unsigned long oip, char *host, int
> mcport, char *group, i
>
> init = false;
> if (strlen(host) >= 1024) {
> - mgmt_fatal(stderr, "[ClusterCom::ClusterCom] Hostname too large: %s\n",
> host);
> + mgmt_fatal(stderr, 0, "[ClusterCom::ClusterCom] Hostname too large:
> %s\n", host);
> }
> // the constructor does a memset() on broadcast_addr and receive_addr,
> initializing them
> // coverity[uninit_member]
> @@ -408,11 +408,11 @@ ClusterCom::ClusterCom(unsigned long oip, char *host,
> int mcport, char *group, i
> found = (rec_err == REC_ERR_OKAY);
>
> if (!found) {
> - mgmt_fatal(stderr, "[ClusterCom::ClusterCom] no cluster_configuration
> filename configured\n");
> + mgmt_fatal(stderr, 0, "[ClusterCom::ClusterCom] no cluster_configuration
> filename configured\n");
> }
>
> if (strlen(p) + strlen(cluster_file) >= 1024) {
> - mgmt_fatal(stderr, "[ClusterCom::ClusterCom] path + filename too
> large\n");
> + mgmt_fatal(stderr, 0, "[ClusterCom::ClusterCom] path + filename too
> large\n");
> }
> // XXX: This allows to have absolute config cluster_configuration
> directive.
> // If that file must be inside config directory (p) use
> @@ -430,7 +430,7 @@ ClusterCom::ClusterCom(unsigned long oip, char *host, int
> mcport, char *group, i
> mgmt_log("[ClusterCom::ClusterCom] Node running on OS: '%s' Release:
> '%s'\n", sys_name, sys_release);
> } else {
> sys_name[0] = sys_release[0] = '\0';
> - mgmt_elog("[ClusterCom::ClusterCom] Unable to determime OS and release
> info\n");
> + mgmt_elog(errno, "[ClusterCom::ClusterCom] Unable to determime OS and
> release info\n");
> }
>
> /* Grab the proxy cluster port */
> @@ -438,7 +438,7 @@ ClusterCom::ClusterCom(unsigned long oip, char *host, int
> mcport, char *group, i
> RecRegisterConfigUpdateCb("proxy.config.cluster.cluster_port",
> cluster_com_port_watcher, NULL);
>
> if (!(strlen(group) < (MAX_MC_GROUP_LEN - 1))) {
> - mgmt_fatal(stderr, "[ClusterCom::ClusterCom] mc group length to
> large!\n");
> + mgmt_fatal(stderr, 0, "[ClusterCom::ClusterCom] mc group length too
> large!\n");
> }
>
> ink_strlcpy(mc_group, group, sizeof(mc_group));
> @@ -636,7 +636,7 @@ ClusterCom::checkPeers(time_t * ticker)
> */
> if (num_peers != number_of_nodes) {
> if (cluster_file_rb->forceUpdate(buff) != OK_ROLLBACK) {
> - mgmt_elog("[ClusterCom::checkPeers] Failed update:
> cluster.config\n");
> + mgmt_elog(0, "[ClusterCom::checkPeers] Failed update:
> cluster.config\n");
> signal_alarm = true; /* Throw the alarm after releasing the lock
> */
> } else {
> number_of_nodes = num_peers; /* Update the static count */
> @@ -789,7 +789,7 @@ ClusterCom::handleMultiCastMessage(char *message)
> handleMultiCastVMapPacket(last, ip);
> return;
> } else {
> - mgmt_elog("[ClusterCom::handleMultiCastMessage] Invalid type msg:
> '%s'\n", line);
> + mgmt_elog(0, "[ClusterCom::handleMultiCastMessage] Invalid type msg:
> '%s'\n", line);
> return;
> }
>
> @@ -821,21 +821,21 @@ ClusterCom::handleMultiCastMessage(char *message)
> if ((line = strtok_r(NULL, "\n", &last)) == NULL)
> goto Lbogus; /* Hostname of sender */
> if (strlen(line) >= sizeof(hostname) || sscanf(line, "hostname: %s",
> hostname) != 1) {
> - mgmt_elog("[ClusterCom::handleMultiCastMessage] Invalid message-line(%d)
> '%s'\n", __LINE__, line);
> + mgmt_elog(0, "[ClusterCom::handleMultiCastMessage] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> return;
> }
>
> if ((line = strtok_r(NULL, "\n", &last)) == NULL)
> goto Lbogus; /* mc_port of sender */
> if (sscanf(line, "port: %d", &peer_cluster_port) != 1) {
> - mgmt_elog("[ClusterCom::handleMultiCastMessage] Invalid message-line(%d)
> '%s'\n", __LINE__, line);
> + mgmt_elog(0, "[ClusterCom::handleMultiCastMessage] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> return;
> }
>
> if ((line = strtok_r(NULL, "\n", &last)) == NULL)
> goto Lbogus; /* rs_port of sender */
> if (sscanf(line, "ccomport: %d", &ccom_port) != 1) {
> - mgmt_elog("[ClusterCom::handleMultiCastMessage] Invalid message-line(%d)
> '%s'\n", __LINE__, line);
> + mgmt_elog(0, "[ClusterCom::handleMultiCastMessage] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> return;
> }
>
> @@ -844,7 +844,7 @@ ClusterCom::handleMultiCastMessage(char *message)
> goto Lbogus;
> int64_t tt;
> if (sscanf(line, "time: %" PRId64 "", &tt) != 1) {
> - mgmt_elog("[ClusterCom::handleMultiCastMessage] Invalid message-line(%d)
> '%s'\n", __LINE__, line);
> + mgmt_elog(0, "[ClusterCom::handleMultiCastMessage] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> return;
> }
> peer_wall_clock = (time_t)tt;
> @@ -910,7 +910,7 @@ ClusterCom::handleMultiCastMessage(char *message)
>
> Lbogus:
> if (log_bogus_mc_msgs) {
> - mgmt_elog("[ClusterCom::handleMultiCastMessage] Bogus mc
> message-line\n");
> + mgmt_elog(0, "[ClusterCom::handleMultiCastMessage] Bogus mc
> message-line\n");
> if (line) {
> Debug("ccom", "[ClusterCom::handleMultiCastMessage] Bogus mc
> message-line %s\n", line);
> }
> @@ -955,7 +955,7 @@ ClusterCom::handleMultiCastStatPacket(char *last,
> ClusterPeerInfo * peer)
> tmp_msg_val = ink_atoi64(v3 + 1);
> }
> if (!v2 || !v3) {
> - mgmt_elog("[ClusterCom::handleMultiCastStatPacket] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> + mgmt_elog(0, "[ClusterCom::handleMultiCastStatPacket] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> return;
> }
> ink_assert(i == tmp_id && rec->data_type == tmp_type);
> @@ -976,7 +976,7 @@ ClusterCom::handleMultiCastStatPacket(char *last,
> ClusterPeerInfo * peer)
> // the types specified are all have a defined constant size
> // coverity[secure_coding]
> if (sscanf(line, "%d:%d: %f", &tmp_id, (int *) &tmp_type,
> &tmp_msg_val) != 3) {
> - mgmt_elog("[ClusterCom::handleMultiCastStatPacket] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> + mgmt_elog(0, "[ClusterCom::handleMultiCastStatPacket] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> return;
> }
> ink_assert(i == tmp_id && rec->data_type == tmp_type);
> @@ -995,7 +995,7 @@ ClusterCom::handleMultiCastStatPacket(char *last,
> ClusterPeerInfo * peer)
> // the types specified are all have a defined constant size
> // coverity[secure_coding]
> if (sscanf(line, "%d:%d: %n", &tmp_id, (int *) &tmp_type, &ccons) !=
> 2) {
> - mgmt_elog("[ClusterCom::handleMultiCastStatPacket] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> + mgmt_elog(0, "[ClusterCom::handleMultiCastStatPacket] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> return;
> }
> tmp_msg_val = &line[ccons];
> @@ -1161,7 +1161,7 @@ ClusterCom::handleMultiCastFilePacket(char *last, char
> *ip)
> file_update_failure = false;
> // coverity[secure_coding]
> if (sscanf(line, "%1023s %d %" PRId64 "\n", file, &ver, &tt) != 3) {
> - mgmt_elog("[ClusterCom::handleMultiCastFilePacket] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> + mgmt_elog(0, "[ClusterCom::handleMultiCastFilePacket] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> return;
> }
>
> @@ -1228,7 +1228,7 @@ ClusterCom::handleMultiCastFilePacket(char *last, char
> *ip)
> }
>
> if (file_update_failure) {
> - mgmt_elog("[ClusterCom::handleMultiCastFilePacket] Update
> failed\n");
> + mgmt_elog(0, "[ClusterCom::handleMultiCastFilePacket] Update
> failed\n");
> } else {
> mgmt_log(stderr, "[ClusterCom::handleMultiCastFilePacket] "
> "Updated '%s' o: %d n: %d\n", file, our_ver, ver);
> }
> @@ -1237,7 +1237,7 @@ ClusterCom::handleMultiCastFilePacket(char *last, char
> *ip)
>
> }
> } else {
> - mgmt_elog("[ClusterCom::handleMultiCastFilePacket] Unknown file seen:
> '%s'\n", file);
> + mgmt_elog(0, "[ClusterCom::handleMultiCastFilePacket] Unknown file
> seen: '%s'\n", file);
> }
> }
>
> @@ -1277,7 +1277,7 @@ ClusterCom::handleMultiCastAlarmPacket(char *last, char
> *ip)
> // both types have a finite size
> // coverity[secure_coding]
> if (sscanf(line, "alarm: %d %n", &a, &ccons) != 1) {
> - mgmt_elog("[ClusterCom::handleMultiCastAlarmPacket] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> + mgmt_elog(0, "[ClusterCom::handleMultiCastAlarmPacket] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> return;
> }
>
> @@ -1316,7 +1316,7 @@ ClusterCom::handleMultiCastVMapPacket(char *last, char
> *ip)
> }
> // coverity[secure_coding]
> if (sscanf(line, "virt: %79s", vaddr) != 1) {
> - mgmt_elog("[ClusterCom::handleMultiCastVMapPacket] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> + mgmt_elog(0, "[ClusterCom::handleMultiCastVMapPacket] Invalid
> message-line(%d) '%s'\n", __LINE__, line);
> return;
> }
>
> @@ -1424,7 +1424,7 @@ ClusterCom::constructSharedGenericPacket(char *message,
> int max, RecT packet_typ
> running_sum += strlen("type: stat\n");
> ink_release_assert(running_sum < max);
> } else {
> - mgmt_elog("[ClusterCom::constructSharedGenericPacket] Illegal type seen
> '%d'\n", packet_type);
> + mgmt_elog(0, "[ClusterCom::constructSharedGenericPacket] Illegal type
> seen '%d'\n", packet_type);
> return;
> }
>
> @@ -1468,7 +1468,7 @@ ClusterCom::constructSharedGenericPacket(char *message,
> int max, RecT packet_typ
> ink_strlcpy(&message[running_sum], tmp, (max - running_sum));
> running_sum += strlen(tmp);
> } else {
> - mgmt_elog(stderr, "[ClusterCom::constructSharedPacket] time failed\n");
> + mgmt_elog(stderr, errno, "[ClusterCom::constructSharedPacket] time
> failed\n");
> }
> ink_release_assert(running_sum < max);
>
> @@ -1604,7 +1604,7 @@ ClusterCom::constructSharedFilePacket(char *message,
> int max)
> running_sum += strlen(tmp);
> ink_release_assert(running_sum < max);
> } else {
> - mgmt_elog("[ClusterCom::constructSharedFilePacket] Invalid base name?
> '%s'\n", line);
> + mgmt_elog(0, "[ClusterCom::constructSharedFilePacket] Invalid base
> name? '%s'\n", line);
> }
> } while ((line = strtok_r(NULL, "\n", &last)));
>
> @@ -1631,14 +1631,14 @@ ClusterCom::establishChannels()
> if (reliable_server_port > 0) {
> /* Setup reliable connection, for large config changes */
> if ((reliable_server_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
> - mgmt_fatal("[ClusterCom::establishChannels] Unable to create
> socket\n");
> + mgmt_fatal(errno, "[ClusterCom::establishChannels] Unable to create
> socket\n");
> }
> if (fcntl(reliable_server_fd, F_SETFD, 1) < 0) {
> - mgmt_fatal("[ClusterCom::establishChannels] Unable to set
> close-on-exec.\n");
> + mgmt_fatal(errno, "[ClusterCom::establishChannels] Unable to set
> close-on-exec.\n");
> }
>
> if (setsockopt(reliable_server_fd, SOL_SOCKET, SO_REUSEADDR, (char *)
> &one, sizeof(int)) < 0) {
> - mgmt_fatal("[ClusterCom::establishChannels] Unable to set socket
> options.\n");
> + mgmt_fatal(errno, "[ClusterCom::establishChannels] Unable to set
> socket options.\n");
> }
>
> memset(&serv_addr, 0, sizeof(serv_addr));
> @@ -1647,11 +1647,11 @@ ClusterCom::establishChannels()
> serv_addr.sin_port = htons(reliable_server_port);
>
> if ((bind(reliable_server_fd, (struct sockaddr *) &serv_addr,
> sizeof(serv_addr))) < 0) {
> - mgmt_fatal("[ClusterCom::establishChannels] Unable to bind socket
> (port:%d)\n", reliable_server_port);
> + mgmt_fatal(errno, "[ClusterCom::establishChannels] Unable to bind
> socket (port:%d)\n", reliable_server_port);
> }
>
> if ((listen(reliable_server_fd, 10)) < 0) {
> - mgmt_fatal("[ClusterCom::establishChannels] Unable to listen on
> socket\n");
> + mgmt_fatal(errno, "[ClusterCom::establishChannels] Unable to listen
> on socket\n");
> }
> }
> }
> @@ -1670,16 +1670,16 @@ void
> ClusterCom::establishBroadcastChannel(void)
> {
> if ((broadcast_fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
> - mgmt_fatal("[ClusterCom::establishBroadcastChannel] Unable to open
> socket.\n");
> + mgmt_fatal(errno, "[ClusterCom::establishBroadcastChannel] Unable to
> open socket.\n");
> }
>
> if (fcntl(broadcast_fd, F_SETFD, 1) < 0) {
> - mgmt_fatal("[ClusterCom::establishBroadcastChannel] Unable to set
> close-on-exec.\n");
> + mgmt_fatal(errno, "[ClusterCom::establishBroadcastChannel] Unable to set
> close-on-exec.\n");
> }
>
> int one = 1;
> if (setsockopt(broadcast_fd, SOL_SOCKET, SO_REUSEADDR, (const char *)
> &one, sizeof(one)) < 0) {
> - mgmt_fatal("[ClusterCom::establishBroadcastChannel] Unable to set socket
> options.\n");
> + mgmt_fatal(errno, "[ClusterCom::establishBroadcastChannel] Unable to set
> socket options.\n");
> }
>
> memset(&broadcast_addr, 0, sizeof(broadcast_addr));
> @@ -1691,12 +1691,12 @@ ClusterCom::establishBroadcastChannel(void)
>
> /* Set ttl(max forwards), 1 should be default(same subnetwork). */
> if (setsockopt(broadcast_fd, IPPROTO_IP, IP_MULTICAST_TTL, (const char *)
> &ttl, sizeof(ttl)) < 0) {
> - mgmt_fatal("[ClusterCom::establishBroadcastChannel] Unable to
> setsocketopt, ttl\n");
> + mgmt_fatal(errno, "[ClusterCom::establishBroadcastChannel] Unable to
> setsocketopt, ttl\n");
> }
>
> /* Disable broadcast loopback, that is broadcasting to self */
> if (setsockopt(broadcast_fd, IPPROTO_IP, IP_MULTICAST_LOOP, (const char *)
> &loop, sizeof(loop)) < 0) {
> - mgmt_fatal("[ClusterCom::establishBroadcastChannel] Unable to disable
> loopback\n");
> + mgmt_fatal(errno, "[ClusterCom::establishBroadcastChannel] Unable to
> disable loopback\n");
> }
>
> return;
> @@ -1717,7 +1717,7 @@ ClusterCom::establishReceiveChannel(int fatal_on_error)
> Debug("ccom", "establishReceiveChannel: Unable to open socket");
> return 1;
> }
> - mgmt_fatal("[ClusterCom::establishReceiveChannel] Unable to open
> socket\n");
> + mgmt_fatal(errno, "[ClusterCom::establishReceiveChannel] Unable to open
> socket\n");
> }
>
> if (fcntl(receive_fd, F_SETFD, 1) < 0) {
> @@ -1727,7 +1727,7 @@ ClusterCom::establishReceiveChannel(int fatal_on_error)
> Debug("ccom", "establishReceiveChannel: Unable to set close-on-exec");
> return 1;
> }
> - mgmt_fatal("[ClusterCom::establishReceiveChannel] Unable to set
> close-on-exec.\n");
> + mgmt_fatal(errno, "[ClusterCom::establishReceiveChannel] Unable to set
> close-on-exec.\n");
> }
>
> int one = 1;
> @@ -1738,7 +1738,7 @@ ClusterCom::establishReceiveChannel(int fatal_on_error)
> Debug("ccom", "establishReceiveChannel: Unable to set socket to reuse
> addr");
> return 1;
> }
> - mgmt_fatal("[ClusterCom::establishReceiveChannel] Unable to set socket
> to reuse addr.\n");
> + mgmt_fatal(errno, "[ClusterCom::establishReceiveChannel] Unable to set
> socket to reuse addr.\n");
> }
>
> memset(&receive_addr, 0, sizeof(receive_addr));
> @@ -1753,7 +1753,7 @@ ClusterCom::establishReceiveChannel(int fatal_on_error)
> Debug("ccom", "establishReceiveChannel: Unable to bind to socket, port
> %d", mc_port);
> return 1;
> }
> - mgmt_fatal("[ClusterCom::establishReceiveChannel] Unable to bind to
> socket, port %d\n", mc_port);
> + mgmt_fatal(errno, "[ClusterCom::establishReceiveChannel] Unable to bind
> to socket, port %d\n", mc_port);
> }
> /* Add ourselves to the group */
> struct ip_mreq mc_request;
> @@ -1767,7 +1767,7 @@ ClusterCom::establishReceiveChannel(int fatal_on_error)
>
> return 1;
> }
> - mgmt_fatal("[ClusterCom::establishReceiveChannel] Can't add ourselves to
> multicast group %s\n", mc_group);
> + mgmt_fatal(errno, "[ClusterCom::establishReceiveChannel] Can't add
> ourselves to multicast group %s\n", mc_group);
> }
>
> return 0;
> @@ -1784,7 +1784,7 @@ bool
> ClusterCom::sendOutgoingMessage(char *buf, int len)
> {
> if (mgmt_sendto(broadcast_fd, buf, len, 0, (struct sockaddr *)
> &broadcast_addr, sizeof(broadcast_addr)) < 0) {
> - mgmt_elog("[ClusterCom::sendOutgoingMessage] Message send failed\n");
> + mgmt_elog(errno, "[ClusterCom::sendOutgoingMessage] Message send
> failed\n");
> return false;
> }
> return true;
> @@ -1898,7 +1898,7 @@ ClusterCom::rl_sendReliableMessage(unsigned long addr,
> const char *buf, int len)
>
>
> if ((fd = mgmt_socket(AF_INET, SOCK_STREAM, 0)) < 0) {
> - mgmt_elog("[ClusterCom::rl_sendReliableMessage] Unable to create
> socket\n");
> + mgmt_elog(errno, "[ClusterCom::rl_sendReliableMessage] Unable to create
> socket\n");
> return false;
> }
> if (fcntl(fd, F_SETFD, 1) < 0) {
> @@ -1908,13 +1908,13 @@ ClusterCom::rl_sendReliableMessage(unsigned long
> addr, const char *buf, int len)
> }
>
> if (connect(fd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) {
> - mgmt_elog("[ClusterCom::rl_sendReliableMessage] Unable to connect to
> peer\n");
> + mgmt_elog(errno, "[ClusterCom::rl_sendReliableMessage] Unable to connect
> to peer\n");
> close_socket(fd);
> return false;
> }
>
> if (mgmt_writeline(fd, buf, len) != 0) {
> - mgmt_elog(stderr, "[ClusterCom::rl_sendReliableMessage] Write
> failed\n");
> + mgmt_elog(stderr, errno, "[ClusterCom::rl_sendReliableMessage] Write
> failed\n");
> close_socket(fd);
> return false;
> }
> @@ -1955,14 +1955,14 @@ ClusterCom::sendReliableMessage(unsigned long addr,
> char *buf, int len, char *re
> serv_addr.sin_port = htons(cport);
>
> if ((fd = mgmt_socket(AF_INET, SOCK_STREAM, 0)) < 0) {
> - mgmt_elog("[ClusterCom::sendReliableMessage] Unable to create
> socket\n");
> + mgmt_elog(errno, "[ClusterCom::sendReliableMessage] Unable to create
> socket\n");
> if (take_lock) {
> ink_mutex_release(&mutex);
> }
> return false;
> }
> if (fcntl(fd, F_SETFD, 1) < 0) {
> - mgmt_elog("[ClusterCom::sendReliableMessage] Unable to set
> close-on-exec.\n");
> + mgmt_elog(errno, "[ClusterCom::sendReliableMessage] Unable to set
> close-on-exec.\n");
> if (take_lock) {
> ink_mutex_release(&mutex);
> }
> @@ -1971,7 +1971,7 @@ ClusterCom::sendReliableMessage(unsigned long addr,
> char *buf, int len, char *re
> }
>
> if (connect(fd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) {
> - mgmt_elog("[ClusterCom::sendReliableMessage] Unable to connect to
> peer\n");
> + mgmt_elog(errno, "[ClusterCom::sendReliableMessage] Unable to connect to
> peer\n");
> if (take_lock) {
> ink_mutex_release(&mutex);
> }
> @@ -1980,7 +1980,7 @@ ClusterCom::sendReliableMessage(unsigned long addr,
> char *buf, int len, char *re
> }
>
> if (mgmt_writeline(fd, buf, len) != 0) {
> - mgmt_elog("[ClusterCom::sendReliableMessage] Write failed\n");
> + mgmt_elog(errno, "[ClusterCom::sendReliableMessage] Write failed\n");
> if (take_lock) {
> ink_mutex_release(&mutex);
> }
> @@ -1989,7 +1989,7 @@ ClusterCom::sendReliableMessage(unsigned long addr,
> char *buf, int len, char *re
> }
>
> if (mgmt_readline(fd, reply, len2) == -1) {
> - mgmt_elog(stderr, "[ClusterCom::sendReliableMessage] Read failed\n");
> + mgmt_elog(stderr, errno, "[ClusterCom::sendReliableMessage] Read
> failed\n");
> perror("ClusterCom::sendReliableMessage");
> reply[0] = '\0';
> if (take_lock) {
> @@ -2035,26 +2035,26 @@ ClusterCom::sendReliableMessageReadTillClose(unsigned
> long addr, char *buf, int
> serv_addr.sin_port = htons(cport);
>
> if ((fd = mgmt_socket(AF_INET, SOCK_STREAM, 0)) < 0) {
> - mgmt_elog("[ClusterCom::sendReliableMessageReadTillClose] Unable create
> sock\n");
> + mgmt_elog(errno, "[ClusterCom::sendReliableMessageReadTillClose] Unable
> create sock\n");
> ink_mutex_release(&mutex);
> return false;
> }
> if (fcntl(fd, F_SETFD, 1) < 0) {
> - mgmt_elog("[ClusterCom::sendReliableMessageReadTillClose] Unable to set
> close-on-exec.\n");
> + mgmt_elog(errno, "[ClusterCom::sendReliableMessageReadTillClose] Unable
> to set close-on-exec.\n");
> ink_mutex_release(&mutex);
> close(fd);
> return false;
> }
>
> if (connect(fd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) {
> - mgmt_elog("[ClusterCom::sendReliableMessageReadTillClose] Unable to
> connect\n");
> + mgmt_elog(errno, "[ClusterCom::sendReliableMessageReadTillClose] Unable
> to connect\n");
> ink_mutex_release(&mutex);
> close_socket(fd);
> return false;
> }
>
> if (mgmt_writeline(fd, buf, len) != 0) {
> - mgmt_elog("[ClusterCom::sendReliableMessageReadTillClose] Write
> failed\n");
> + mgmt_elog(errno, "[ClusterCom::sendReliableMessageReadTillClose] Write
> failed\n");
> ink_mutex_release(&mutex);
> close_socket(fd);
> return false;
> @@ -2072,7 +2072,7 @@ ClusterCom::sendReliableMessageReadTillClose(unsigned
> long addr, char *buf, int
> }
>
> if (res < 0) {
> - mgmt_elog("[ClusterCom::sendReliableMessageReadTillClose] Read
> failed\n");
> + mgmt_elog(errno, "[ClusterCom::sendReliableMessageReadTillClose] Read
> failed\n");
> perror("ClusterCom::sendReliableMessageReadTillClose");
> ink_mutex_release(&mutex);
> close_socket(fd);
> @@ -2096,7 +2096,7 @@ ClusterCom::receiveIncomingMessage(char *buf, int max)
> int nbytes = 0, addr_len = sizeof(receive_addr);
>
> if ((nbytes = recvfrom(receive_fd, buf, max, 0, (struct sockaddr *)
> &receive_addr, (socklen_t *) & addr_len)) < 0) {
> - mgmt_elog(stderr, "[ClusterCom::receiveIncomingMessage] Receive
> failed\n");
> + mgmt_elog(stderr, errno, "[ClusterCom::receiveIncomingMessage] Receive
> failed\n");
> }
> return nbytes;
> } /* End ClusterCom::processIncomingMessages
> */
> @@ -2304,7 +2304,7 @@ checkBackDoor(int req_fd, char *message)
>
> // coverity[secure_coding]
> if (sscanf(message, "read %s\n", variable) != 1) {
> - mgmt_elog("[ClusterCom::CBD] Invalid message-line(%d) '%s'\n",
> __LINE__, message);
> + mgmt_elog(0, "[ClusterCom::CBD] Invalid message-line(%d) '%s'\n",
> __LINE__, message);
> return false;
> }
>
> @@ -2346,17 +2346,17 @@ checkBackDoor(int req_fd, char *message)
> if (found) {
> mgmt_writeline(req_fd, reply, rep_len);
> } else {
> - mgmt_elog("[checkBackDoor] record not found '%s'\n", variable);
> + mgmt_elog(0, "[checkBackDoor] record not found '%s'\n", variable);
> }
> } else {
> - mgmt_elog("[checkBackDoor] Unknown variable requested '%s'\n",
> variable);
> + mgmt_elog(0, "[checkBackDoor] Unknown variable requested '%s'\n",
> variable);
> }
> return true;
> } else if (strstr(message, "write ")) {
> char variable[1024], value[1024];
>
> if (sscanf(message, "write %s %s", variable, value) != 2) {
> - mgmt_elog("[ClusterCom::CBD] Invalid message-line(%d) '%s'\n",
> __LINE__, message);
> + mgmt_elog(0, "[ClusterCom::CBD] Invalid message-line(%d) '%s'\n",
> __LINE__, message);
> return false;
> }
> // TODO: I think this is correct, it used to do lmgmt->record_data-> ...
> @@ -2364,7 +2364,7 @@ checkBackDoor(int req_fd, char *message)
> ink_strlcpy(reply, "\nRecord Updated\n\n", sizeof(reply));
> mgmt_writeline(req_fd, reply, strlen(reply));
> } else {
> - mgmt_elog("[checkBackDoor] Assignment to unknown variable requested
> '%s'\n", variable);
> + mgmt_elog(0, "[checkBackDoor] Assignment to unknown variable requested
> '%s'\n", variable);
> }
> return true;
> } else if (strstr(message, "peers")) {
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/cluster/VMap.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/cluster/VMap.cc b/mgmt/cluster/VMap.cc
> index 51fa525..5539e6f 100644
> --- a/mgmt/cluster/VMap.cc
> +++ b/mgmt/cluster/VMap.cc
> @@ -116,7 +116,7 @@ VMap::VMap(char *interface, unsigned long ip, ink_mutex *
> m)
> int len;
>
> if ((tmp_socket = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
> - mgmt_fatal(stderr, "[VMap::VMap] Unable to create socket for interface
> ioctls\n");
> + mgmt_fatal(stderr, errno, "[VMap::VMap] Unable to create socket for
> interface ioctls\n");
> }
> // INKqa06739
> // Fetch the list of network interfaces
> @@ -131,7 +131,7 @@ VMap::VMap(char *interface, unsigned long ip, ink_mutex *
> m)
> ifc.ifc_buf = ifbuf;
> if (ioctl(tmp_socket, SIOCGIFCONF, &ifc) < 0) {
> if (errno != EINVAL || lastlen != 0) {
> - mgmt_fatal(stderr, "[VMap::VMap] Unable to read network interface
> configuration\n");
> + mgmt_fatal(stderr, errno, "[VMap::VMap] Unable to read network
> interface configuration\n");
> }
> } else {
> if (ifc.ifc_len == lastlen) {
> @@ -273,7 +273,7 @@ VMap::lt_runGambit()
> ink_strlcpy(raddr, inet_ntoa(real_addr), sizeof(raddr));
> rl_remote_map(vaddr, raddr);
> } else if (!rl_map(vaddr)) { /* We are the winner, map it to us
> */
> - mgmt_elog(stderr, "[VMap::lt_runGambit] Map failed for vaddr: %s\n",
> vaddr);
> + mgmt_elog(stderr, 0, "[VMap::lt_runGambit] Map failed for vaddr:
> %s\n", vaddr);
> } else {
> mgmt_log(stderr, "[VMap::lt_runGambit] Map succeeded for vaddr:
> %s\n", vaddr);
> }
> @@ -379,7 +379,7 @@ VMap::lt_readAListFile(char *data)
> " virtual ips\n", tmp_interface);
> }
> } else {
> - mgmt_elog(stderr, "[VMap::lt_readAListFile] VIP in config file but no
> interface"
> + mgmt_elog(stderr, 0, "[VMap::lt_readAListFile] VIP in config file but
> no interface"
> " '%s' present on node.\n", tmp_interface);
> }
> }
> @@ -455,7 +455,7 @@ VMap::rl_remote_map(char *virt_ip, char *real_ip)
>
> snprintf((char *) buf, sizeof(buf), "map: %s", virt_ip);
> if (!(lmgmt->ccom->sendReliableMessage(inet_addr(real_ip), buf,
> strlen(buf), reply, 4096, false))) {
> - mgmt_elog(stderr, "[VMap::rl_remote_map] Reliable send failed\n");
> + mgmt_elog(stderr, errno, "[VMap::rl_remote_map] Reliable send
> failed\n");
> return false;
> } else if (strcmp(reply, "map: failed") == 0) {
> mgmt_log(stderr, "[VMap::rl_remote_map] Mapping failed\n");
> @@ -477,7 +477,7 @@ VMap::rl_remote_unmap(char *virt_ip, char *real_ip)
>
> snprintf((char *) buf, sizeof(buf), "unmap: %s", virt_ip);
> if (!(lmgmt->ccom->sendReliableMessage(inet_addr(real_ip), buf,
> strlen(buf), reply, 4096, false))) {
> - mgmt_elog(stderr, "[VMap::rl_remote_unmap] Reliable send failed\n");
> + mgmt_elog(stderr, errno, "[VMap::rl_remote_unmap] Reliable send
> failed\n");
> return false;
> } else if (strcmp((char *) reply, "unmap: failed") == 0) {
> mgmt_log(stderr, "[VMap::rl_remote_unmap] Mapping failed\n");
> @@ -518,7 +518,7 @@ VMap::rl_map(char *virt_ip, char *real_ip)
> *entry = true;
>
> if (!real_ip) {
> - mgmt_elog("[VMap::rl_map] no real ip associated with virtual ip %s,
> mapping to local\n", buf);
> + mgmt_elog(0, "[VMap::rl_map] no real ip associated with virtual ip %s,
> mapping to local\n", buf);
> last_map_change = time(NULL);
> }
> ink_hash_table_insert(tmp, buf, (void *) entry);
> @@ -593,7 +593,7 @@ VMap::rl_checkConflict(char *virt_ip)
> buf++;
> ink_strlcpy(buf2, buf, sizeof(buf2));
> } else {
> - mgmt_fatal(stderr, "[VMap::rl_checkConflict] Corrupt VMap entry('%s'),
> bailing\n", key);
> + mgmt_fatal(stderr, 0, "[VMap::rl_checkConflict] Corrupt VMap
> entry('%s'), bailing\n", key);
> }
> return ats_strdup(buf2);
> }
> @@ -754,7 +754,7 @@ VMap::rl_boundTo(char *virt_ip)
> buf++;
> ink_strlcpy(buf2, buf, sizeof(buf2));
> } else {
> - mgmt_fatal(stderr, "[VMap::rl_boundTo] Corrupt VMap entry('%s'),
> bailing\n", key);
> + mgmt_fatal(stderr, 0, "[VMap::rl_boundTo] Corrupt VMap entry('%s'),
> bailing\n", key);
> }
> return (inet_addr(buf2));
> }
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/utils/MgmtUtils.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/utils/MgmtUtils.cc b/mgmt/utils/MgmtUtils.cc
> index 05cd022..275ff3e 100644
> --- a/mgmt/utils/MgmtUtils.cc
> +++ b/mgmt/utils/MgmtUtils.cc
> @@ -304,7 +304,7 @@ mgmt_log(const char *message_format, ...)
> * Same as above, but intended for errors.
> */
> void
> -mgmt_elog(FILE * log, const char *message_format, ...)
> +mgmt_elog(FILE * log, const int lerrno, const char *message_format, ...)
> {
> va_list ap;
> char extended_format[4096], message[4096];
> @@ -313,23 +313,27 @@ mgmt_elog(FILE * log, const char *message_format, ...)
>
> #if defined(LOCAL_MANAGER) || defined(PROCESS_MANAGER)
> if (diags_init) {
> - int lerrno = errno;
> -
> diags->print_va(NULL, DL_Error, NULL, message_format, ap);
> - diags->print(NULL, DTA(DL_Error), " (last system error %d: %s)\n",
> lerrno, strerror(lerrno));
> + if (lerrno != 0) {
> + diags->print(NULL, DTA(DL_Error), " (last system error %d: %s)\n",
> lerrno, strerror(lerrno));
> + }
> } else {
> #endif
> if (use_syslog) {
> snprintf(extended_format, sizeof(extended_format), "ERROR ==> %s",
> message_format);
> vsprintf(message, extended_format, ap);
> syslog(LOG_ERR, "%s", message);
> - syslog(LOG_ERR, " (last system error %d: %s)", errno,
> strerror(errno));
> + if (lerrno != 0) {
> + syslog(LOG_ERR, " (last system error %d: %s)", lerrno,
> strerror(lerrno));
> + }
> } else {
> snprintf(extended_format, sizeof(extended_format), "[E. Mgmt] ERROR
> ==> %s", message_format);
> vsprintf(message, extended_format, ap);
> ink_assert(fwrite(message, strlen(message), 1, log) == 1);
> - snprintf(message, sizeof(message), "(last system error %d: %s)",
> errno, strerror(errno));
> - ink_assert(fwrite(message, strlen(message), 1, log) == 1);
> + if (lerrno != 0) {
> + snprintf(message, sizeof(message), "(last system error %d: %s)",
> lerrno, strerror(lerrno));
> + ink_assert(fwrite(message, strlen(message), 1, log) == 1);
> + }
> }
> #if defined(LOCAL_MANAGER) || defined(PROCESS_MANAGER)
> }
> @@ -341,7 +345,7 @@ mgmt_elog(FILE * log, const char *message_format, ...)
>
>
> void
> -mgmt_elog(const char *message_format, ...)
> +mgmt_elog(const int lerrno, const char *message_format, ...)
> {
> va_list ap;
> char extended_format[4096], message[4096];
> @@ -350,9 +354,10 @@ mgmt_elog(const char *message_format, ...)
>
> #if defined(LOCAL_MANAGER) || defined(PROCESS_MANAGER)
> if (diags_init) {
> - int lerrno = errno;
> diags->print_va(NULL, DL_Error, NULL, message_format, ap);
> - diags->print(NULL, DTA(DL_Error), " (last system error %d: %s)\n",
> lerrno, strerror(lerrno));
> + if (lerrno != 0) {
> + diags->print(NULL, DTA(DL_Error), " (last system error %d: %s)\n",
> lerrno, strerror(lerrno));
> + }
> } else {
> #endif
>
> @@ -360,13 +365,17 @@ mgmt_elog(const char *message_format, ...)
> snprintf(extended_format, sizeof(extended_format), "ERROR ==> %s",
> message_format);
> vsprintf(message, extended_format, ap);
> syslog(LOG_ERR, "%s", message);
> - syslog(LOG_ERR, " (last system error %d: %s)", errno,
> strerror(errno));
> + if (lerrno != 0) {
> + syslog(LOG_ERR, " (last system error %d: %s)", lerrno,
> strerror(lerrno));
> + }
> } else {
> snprintf(extended_format, sizeof(extended_format), "Manager ERROR:
> %s", message_format);
> vsprintf(message, extended_format, ap);
> ink_assert(fwrite(message, strlen(message), 1, stderr) == 1);
> - snprintf(message, sizeof(message), "(last system error %d: %s)",
> errno, strerror(errno));
> - ink_assert(fwrite(message, strlen(message), 1, stderr) == 1);
> + if (lerrno != 0) {
> + snprintf(message, sizeof(message), "(last system error %d: %s)",
> lerrno, strerror(lerrno));
> + ink_assert(fwrite(message, strlen(message), 1, stderr) == 1);
> + }
> }
> #if defined(LOCAL_MANAGER) || defined(PROCESS_MANAGER)
> }
> @@ -382,7 +391,7 @@ mgmt_elog(const char *message_format, ...)
> * asserts false.
> */
> void
> -mgmt_fatal(FILE * log, const char *message_format, ...)
> +mgmt_fatal(FILE * log, const int lerrno, const char *message_format, ...)
> {
> va_list ap;
> char extended_format[4096], message[4096];
> @@ -392,9 +401,10 @@ mgmt_fatal(FILE * log, const char *message_format, ...)
>
> #if defined(LOCAL_MANAGER) || defined(PROCESS_MANAGER)
> if (diags_init) {
> - int lerrno = errno;
> diags->print_va(NULL, DL_Fatal, NULL, message_format, ap);
> - diags->print(NULL, DTA(DL_Fatal), " (last system error %d: %s)\n",
> lerrno, strerror(lerrno));
> + if (lerrno != 0) {
> + diags->print(NULL, DTA(DL_Fatal), " (last system error %d: %s)\n",
> lerrno, strerror(lerrno));
> + }
> } else {
> #endif
>
> @@ -407,13 +417,13 @@ mgmt_fatal(FILE * log, const char *message_format, ...)
> syslog(LOG_ERR, "%s", message);
> }
>
> -
> -
> - perror("[E. Mgmt] ");
> -
> - if (use_syslog) {
> - syslog(LOG_ERR, " (last system error %d: %s)", errno,
> strerror(errno));
> + if (lerrno != 0) {
> + fprintf(stderr, "[E. Mgmt] last system error %d: %s", lerrno,
> strerror(lerrno));
> + if (use_syslog) {
> + syslog(LOG_ERR, " (last system error %d: %s)", lerrno,
> strerror(lerrno));
> + }
> }
> +
> #if defined(LOCAL_MANAGER) || defined(PROCESS_MANAGER)
> }
> #endif
> @@ -427,7 +437,7 @@ mgmt_fatal(FILE * log, const char *message_format, ...)
>
>
> void
> -mgmt_fatal(const char *message_format, ...)
> +mgmt_fatal(const int lerrno, const char *message_format, ...)
> {
> va_list ap;
> char extended_format[4096], message[4096];
> @@ -436,9 +446,10 @@ mgmt_fatal(const char *message_format, ...)
>
> #if defined(LOCAL_MANAGER) || defined(PROCESS_MANAGER)
> if (diags_init) {
> - int lerrno = errno;
> diags->print_va(NULL, DL_Fatal, NULL, message_format, ap);
> - diags->print(NULL, DTA(DL_Fatal), " (last system error %d: %s)\n",
> lerrno, strerror(lerrno));
> + if (lerrno != 0) {
> + diags->print(NULL, DTA(DL_Fatal), " (last system error %d: %s)\n",
> lerrno, strerror(lerrno));
> + }
> } else {
> #endif
>
> @@ -451,12 +462,12 @@ mgmt_fatal(const char *message_format, ...)
> syslog(LOG_ERR, "%s", message);
> }
>
> + if (lerrno != 0) {
> + fprintf(stderr, "[E. Mgmt] last system error %d: %s", lerrno,
> strerror(lerrno));
>
> -
> - perror("[E. Mgmt] ");
> -
> - if (use_syslog) {
> - syslog(LOG_ERR, " (last system error %d: %s)", errno,
> strerror(errno));
> + if (use_syslog) {
> + syslog(LOG_ERR, " (last system error %d: %s)", lerrno,
> strerror(lerrno));
> + }
> }
> #if defined(LOCAL_MANAGER) || defined(PROCESS_MANAGER)
> }
> @@ -512,7 +523,7 @@ mgmt_getAddrForIntr(char *intrName, sockaddr* addr, int
> *mtu)
> memset(addr, 0, sizeof(struct in_addr));
>
> if ((fakeSocket = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
> - mgmt_fatal(stderr, "[getAddrForIntr] Unable to create socket\n");
> + mgmt_fatal(stderr, errno, "[getAddrForIntr] Unable to create socket\n");
> }
> // INKqa06739
> // Fetch the list of network interfaces
> @@ -527,7 +538,7 @@ mgmt_getAddrForIntr(char *intrName, sockaddr* addr, int
> *mtu)
> ifc.ifc_buf = ifbuf;
> if (ioctl(fakeSocket, SIOCGIFCONF, &ifc) < 0) {
> if (errno != EINVAL || lastlen != 0) {
> - mgmt_fatal(stderr, "[getAddrForIntr] Unable to read network
> interface configuration\n");
> + mgmt_fatal(stderr, errno, "[getAddrForIntr] Unable to read network
> interface configuration\n");
> }
> } else {
> if (ifc.ifc_len == lastlen) {
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/utils/MgmtUtils.h
> ----------------------------------------------------------------------
> diff --git a/mgmt/utils/MgmtUtils.h b/mgmt/utils/MgmtUtils.h
> index 9acb521..cad15e2 100644
> --- a/mgmt/utils/MgmtUtils.h
> +++ b/mgmt/utils/MgmtUtils.h
> @@ -56,11 +56,11 @@ bool mgmt_getAddrForIntr(char *intrName, sockaddr* addr,
> int *mtu = 0);
> /* the following functions are all DEPRECATED. The Diags
> interface should be used exclusively in the future */
> void mgmt_log(FILE * log, const char *message_format, ...);
> -void mgmt_elog(FILE * log, const char *message_format, ...);
> -void mgmt_fatal(FILE * log, const char *message_format, ...);
> +void mgmt_elog(FILE * log, const int lerrno, const char *message_format,
> ...);
> +void mgmt_fatal(FILE * log, const int lerrno, const char *message_format,
> ...);
> void mgmt_log(const char *message_format, ...);
> -void mgmt_elog(const char *message_format, ...);
> -void mgmt_fatal(const char *message_format, ...);
> +void mgmt_elog(const int lerrno, const char *message_format, ...);
> +void mgmt_fatal(const int lerrno, const char *message_format, ...);
> void mgmt_log_output(FILE * stdio_or_null, DiagsLevel type, const char
> *format, ...);
> void mgmt_log_output_va(FILE * stdio_or_null, DiagsLevel type, const char
> *format, va_list ap);
>
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/utils/WebMgmtUtils.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/utils/WebMgmtUtils.cc b/mgmt/utils/WebMgmtUtils.cc
> index f3c2353..ed82b09 100644
> --- a/mgmt/utils/WebMgmtUtils.cc
> +++ b/mgmt/utils/WebMgmtUtils.cc
> @@ -1065,7 +1065,7 @@ setHostnameVar()
>
> // Get Our HostName
> if (gethostname(ourHostName, MAXDNAME) < 0) {
> - mgmt_fatal(stderr, "[setHostnameVar] Can not determine our hostname");
> + mgmt_fatal(stderr, errno, "[setHostnameVar] Can not determine our
> hostname");
> }
>
> res_init();
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/web2/WebHttp.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/web2/WebHttp.cc b/mgmt/web2/WebHttp.cc
> index ecad1c7..9df0da5 100644
> --- a/mgmt/web2/WebHttp.cc
> +++ b/mgmt/web2/WebHttp.cc
> @@ -524,7 +524,7 @@ WebHttpHandleConnection(WebHttpConInfo * whci)
> // on the autoconf port. can't have users downloading arbitrary
> // files under the config directory!
> if (!ink_hash_table_isbound(g_autoconf_allow_ht, file)) {
> - mgmt_elog(stderr,"[WebHttpHandleConnection] %s not valid autoconf
> file",file);
> + mgmt_elog(stderr, 0, "[WebHttpHandleConnection] %s not valid autoconf
> file", file);
> whc->response_hdr->setStatus(STATUS_NOT_FOUND);
> WebHttpSetErrorResponse(whc, STATUS_NOT_FOUND);
> goto Ltransaction_send;
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2452f5f/mgmt/web2/WebIntrMain.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/web2/WebIntrMain.cc b/mgmt/web2/WebIntrMain.cc
> index 29fb81f..ff29c97 100644
> --- a/mgmt/web2/WebIntrMain.cc
> +++ b/mgmt/web2/WebIntrMain.cc
> @@ -202,7 +202,7 @@ newUNIXsocket(char *fpath)
> // Set the close on exec flag so our children do not
> // have this socket open
> if (fcntl(socketFD, F_SETFD, 1) < 0) {
> - mgmt_elog(stderr, "[newUNIXSocket] Unable to set close on exec flag\n");
> + mgmt_elog(stderr, errno, "[newUNIXSocket] Unable to set close on exec
> flag\n");
> }
>
> return socketFD;
> @@ -228,7 +228,7 @@ newTcpSocket(int port)
>
> // Create the new TCP Socket
> if ((socketFD = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) {
> - mgmt_fatal(stderr, "[newTcpSocket]: %s", "Unable to Create Socket\n");
> + mgmt_fatal(stderr, errno, "[newTcpSocket]: %s", "Unable to Create
> Socket\n");
> return -1;
> }
> // Specify our port number is network order
> @@ -239,24 +239,24 @@ newTcpSocket(int port)
>
> // Allow for immediate re-binding to port
> if (setsockopt(socketFD, SOL_SOCKET, SO_REUSEADDR, (char *) &one,
> sizeof(int)) < 0) {
> - mgmt_fatal(stderr, "[newTcpSocket] Unable to set socket options.\n");
> + mgmt_fatal(stderr, errno, "[newTcpSocket] Unable to set socket
> options.\n");
> }
> // Bind the port to the socket
> if (bind(socketFD, (sockaddr *) & socketInfo, sizeof(socketInfo)) < 0) {
> - mgmt_elog(stderr, "[newTcpSocket] Unable to bind port %d to socket:
> %s\n", port, strerror(errno));
> + mgmt_elog(stderr, 0, "[newTcpSocket] Unable to bind port %d to socket:
> %s\n", port, strerror(errno));
> close_socket(socketFD);
> return -1;
> }
> // Listen on the new socket
> if (listen(socketFD, 5) < 0) {
> - mgmt_elog(stderr, "[newTcpSocket] %s\n", "Unable to listen on the
> socket");
> + mgmt_elog(stderr, errno, "[newTcpSocket] %s\n", "Unable to listen on the
> socket");
> close_socket(socketFD);
> return -1;
> }
> // Set the close on exec flag so our children do not
> // have this socket open
> if (fcntl(socketFD, F_SETFD, 1) < 0) {
> - mgmt_elog(stderr, "[newTcpSocket] Unable to set close on exec flag\n");
> + mgmt_elog(stderr, errno, "[newTcpSocket] Unable to set close on exec
> flag\n");
> }
>
> return socketFD;
> @@ -408,7 +408,7 @@ webIntr_main(void *)
> ink_assert(found);
>
> if (autoconfContext.docRoot == NULL) {
> - mgmt_fatal(stderr, "[WebIntrMain] No Client AutoConf Root\n");
> + mgmt_fatal(stderr, 0, "[WebIntrMain] No Client AutoConf Root\n");
> } else {
> struct stat s;
> int err;
> @@ -417,10 +417,10 @@ webIntr_main(void *)
> ats_free(autoconfContext.docRoot);
> autoconfContext.docRoot = ats_strdup(system_config_directory);
> if ((err = stat(autoconfContext.docRoot, &s)) < 0) {
> - mgmt_elog("[WebIntrMain] unable to stat() directory '%s': %d %d,
> %s\n",
> + mgmt_elog(0, "[WebIntrMain] unable to stat() directory '%s': %d %d,
> %s\n",
> autoconfContext.docRoot, err, errno, strerror(errno));
> - mgmt_elog("[WebIntrMain] please set config path via command line
> '-path <path>' or 'proxy.config.config_dir' \n");
> - mgmt_fatal(stderr, "[WebIntrMain] No Client AutoConf Root\n");
> + mgmt_elog(0, "[WebIntrMain] please set config path via command line
> '-path <path>' or 'proxy.config.config_dir' \n");
> + mgmt_fatal(stderr, 0, "[WebIntrMain] No Client AutoConf Root\n");
> }
> }
> autoconfContext.docRootLen = strlen(autoconfContext.docRoot);
> @@ -467,7 +467,7 @@ webIntr_main(void *)
> lmgmt->alarm_keeper->signalAlarm(MGMT_ALARM_WEB_ERROR, pacFailMsg);
> } else {
> if ((autoconfFD = newTcpSocket(publicPort)) < 0) {
> - mgmt_elog(stderr, "[WebIntrMain] Unable to start client autoconf
> server\n");
> + mgmt_elog(stderr, errno, "[WebIntrMain] Unable to start client
> autoconf server\n");
> lmgmt->alarm_keeper->signalAlarm(MGMT_ALARM_WEB_ERROR, pacFailMsg);
> }
> }
> @@ -553,7 +553,7 @@ webIntr_main(void *)
> wGlobals.serviceThrArray[i].threadId = thrId;
> } else {
> // Failed to create thread
> - mgmt_elog(stderr, "[WebIntrMain] Failed to create service
> thread\n");
> + mgmt_elog(stderr, errno, "[WebIntrMain] Failed to create
> service thread\n");
> wGlobals.serviceThrArray[i].threadId = 0;
> wGlobals.serviceThrArray[i].fd = -1;
> close_socket(clientFD);
> @@ -567,7 +567,7 @@ webIntr_main(void *)
>
> break;
> } else if (i == MAX_SERVICE_THREADS - 1) {
> - mgmt_fatal(stderr, "[WebIntrMain] Syncronizaion Failure\n");
> + mgmt_fatal(stderr, 0, "[WebIntrMain] Syncronizaion Failure\n");
> _exit(1);
> }
> }
>
>
>
--
Igor Galić
Tel: +43 (0) 664 886 22 883
Mail: i.galic@brainsware.org
URL: http://brainsware.org/
GPG: 6880 4155 74BD FD7C B515 2EA5 4B1D 9E08 A097 C9AE