Author: mturk Date: Wed Feb 25 16:25:48 2009 New Revision: 747847 URL: http://svn.apache.org/viewvc?rev=747847&view=rev Log: Update shared memory only if resolve is OK
Modified: tomcat/connectors/trunk/jk/native/common/jk_status.c Modified: tomcat/connectors/trunk/jk/native/common/jk_status.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_status.c?rev=747847&r1=747846&r2=747847&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_status.c (original) +++ tomcat/connectors/trunk/jk/native/common/jk_status.c Wed Feb 25 16:25:48 2009 @@ -3085,6 +3085,8 @@ int i; int old; int as = 0; + char host[JK_SHM_STR_SIZ+1]; + int port = 0; JK_TRACE_ENTER(l); if (lb) { @@ -3177,22 +3179,21 @@ jk_log(l, JK_LOG_INFO, "Status worker '%s' setting 'host' for sub worker '%s' to '%s'", w->name, aw->name, arg); - strncpy(aw->s->hostname, arg, JK_SHM_STR_SIZ); + strncpy(host, arg, JK_SHM_STR_SIZ); rc |= 4; as = 1; } } + port = aw->s->port; if (set_int_if_changed(p, aw->name, "port", JK_STATUS_ARG_AJP_PORT_INT, - 0, INT_MAX, &aw->s->port, lb_name, l)) { + 0, INT_MAX, &port, lb_name, l)) { rc |= 4; as = 1; } if (as) { - aw->s->addr_sequence += as; - aw->host = aw->s->hostname; - aw->addr_sequence = aw->s->addr_sequence; + struct sockaddr_in inet_addr; aw->port = aw->s->port; - if (!jk_resolve(aw->host, aw->port, &aw->worker_inet_addr, + if (!jk_resolve(host, port, &inet_addr, aw->worker.we->pool, l)) { jk_log(l, JK_LOG_ERROR, "Status worker '%s' failed resolving 'address' for sub worker '%s' to '%s:%d'", @@ -3200,7 +3201,15 @@ strcpy(aw->s->hostname, "unknown"); aw->host = aw->s->hostname; aw->port = aw->s->port = 0; - } + } + else { + strcpy(aw->s->hostname, host); + aw->port = port; + aw->s->addr_sequence += as; + aw->host = aw->s->hostname; + aw->addr_sequence = aw->s->addr_sequence; + memcpy(&(aw->worker_inet_addr), &inet_addr, sizeof(inet_addr)); + } } if (set_int_if_changed(p, aw->name, "ping_timeout", JK_STATUS_ARG_AJP_PING_TO, 0, INT_MAX, &aw->ping_timeout, lb_name, l)) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org