mturk 2004/11/08 05:37:46 Modified: jk/native/common jk_ajp_common.c Log: Use socket timeout and recycle timeout. Revision Changes Path 1.60 +21 -13 jakarta-tomcat-connectors/jk/native/common/jk_ajp_common.c Index: jk_ajp_common.c =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp_common.c,v retrieving revision 1.59 retrieving revision 1.60 diff -u -r1.59 -r1.60 --- jk_ajp_common.c 8 Oct 2004 07:50:39 -0000 1.59 +++ jk_ajp_common.c 8 Nov 2004 13:37:46 -0000 1.60 @@ -728,7 +728,8 @@ for (attempt = 0; attempt < ae->worker->connect_retry_attempts; attempt++) { ae->sd = jk_open_socket(&ae->worker->worker_inet_addr, JK_TRUE, - ae->worker->keepalive, l); + ae->worker->keepalive, + ae->worker->socket_timeout, l); if (ae->sd >= 0) { jk_log(l, JK_LOG_DEBUG, "In jk_endpoint_t::ajp_connect_to_endpoint, " @@ -742,7 +743,7 @@ return (ae->worker->logon(ae, l)); /* should we send a CPING to validate connection ? */ - if (ae->worker->connect_timeout != 0) + if (ae->worker->connect_timeout > 0) return (ajp_handle_cping_cpong (ae, ae->worker->connect_timeout, l)); @@ -1483,9 +1484,9 @@ "without recovery in send loop %d\n", i); return JK_FALSE; } - jk_log(l, JK_LOG_ERROR, - "ERROR: Receiving from tomcat failed, " - "recoverable operation. err=%d\n", i); + jk_log(l, JK_LOG_INFO, + "Receiving from tomcat failed, " + "recoverable operation attempt=%d\n", i); } } @@ -1604,7 +1605,7 @@ ajp_worker_t *p = pThis->worker_private; int cache_sz = jk_get_worker_cache_size(props, p->name, cache); p->socket_timeout = - jk_get_worker_socket_timeout(props, p->name, AJP13_DEF_TIMEOUT); + jk_get_worker_socket_timeout(props, p->name, AJP_DEF_SOCKET_TIMEOUT); jk_log(l, JK_LOG_DEBUG, "In jk_worker_t::init, setting socket timeout to %d\n", @@ -1617,6 +1618,13 @@ "In jk_worker_t::init, setting socket keepalive to %d\n", p->keepalive); + p->recycle_timeout = + jk_get_worker_recycle_timeout(props, p->name, AJP13_DEF_TIMEOUT); + + jk_log(l, JK_LOG_DEBUG, + "In jk_worker_t::init, setting connection recycle timeout to %d\n", + p->recycle_timeout); + p->cache_timeout = jk_get_worker_cache_timeout(props, p->name, AJP_DEF_CACHE_TIMEOUT); @@ -1797,8 +1805,8 @@ if (aw->cache_timeout) { for (; i < aw->ep_cache_sz; i++) { if (aw->ep_cache[i]) { - unsigned elapsed = - (unsigned)(now - ae->last_access); + int elapsed = + (int)(now - ae->last_access); if (elapsed > aw->cache_timeout) { jk_log(l, JK_LOG_DEBUG, "In jk_endpoint_t::ajp_get_endpoint," @@ -1814,18 +1822,18 @@ if (ae) { if (ae->sd > 0) { /* Handle timeouts for open sockets */ - unsigned elapsed = (unsigned)(now - ae->last_access); + int elapsed = (int)(now - ae->last_access); ae->last_access = now; jk_log(l, JK_LOG_DEBUG, "In jk_endpoint_t::ajp_get_endpoint, " "time elapsed since last request = %u seconds\n", elapsed); - if (aw->socket_timeout > 0 && - elapsed > aw->socket_timeout) { + if (aw->recycle_timeout > 0 && + elapsed > aw->recycle_timeout) { jk_close_socket(ae->sd); jk_log(l, JK_LOG_DEBUG, "In jk_endpoint_t::ajp_get_endpoint, " - "reached socket timeout, closed sd = %d\n", + "reached connection recycle timeout, closed sd = %d\n", ae->sd); ae->sd = -1; /* just to avoid twice close */ }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]