You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2002/01/06 10:06:02 UTC
cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 jk_logger_apache2.c jk_map_aprtable.c jk_pool_apr.c jk_service_apache2.c
costin 02/01/06 01:06:02
Modified: jk/native2 build.xml
jk/native2/common jk_handler_response.c jk_lb_worker.c
jk/native2/common/apr jk_channel_apr_socket.c
jk/native2/server/apache2 jk_logger_apache2.c
jk_map_aprtable.c jk_pool_apr.c
jk_service_apache2.c
Log:
Few fixes and debug statements.
I reverted to use jk maps for now, there's a strange bug with apr maps. The
extra debug statements will be removed after I figure out the problem.
Revision Changes Path
1.10 +1 -1 jakarta-tomcat-connectors/jk/native2/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/build.xml,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- build.xml 5 Jan 2002 10:03:43 -0000 1.9
+++ build.xml 6 Jan 2002 09:06:02 -0000 1.10
@@ -43,7 +43,7 @@
<!-- ==================== Targets ==================== -->
- <target name="main" depends="init,apache20,jni,apache13,unixsocket">
+ <target name="main" depends="init,apache20,jni,unixsocket">
</target>
<target name="init" >
1.12 +3 -3 jakarta-tomcat-connectors/jk/native2/common/jk_handler_response.c
Index: jk_handler_response.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_handler_response.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- jk_handler_response.c 17 Dec 2001 07:17:08 -0000 1.11
+++ jk_handler_response.c 6 Jan 2002 09:06:02 -0000 1.12
@@ -166,9 +166,9 @@
jk_xlate_from_ascii(valueS, strlen(valueS));
- /* env->l->jkLog(env, env->l, JK_LOG_INFO, */
- /* "handler.response() Header[%d] [%s] = [%s]\n", */
- /* i, nameS, valueS); */
+ env->l->jkLog(env, env->l, JK_LOG_INFO,
+ "handler.response() Header[%d] [%s] = [%s]\n",
+ i, nameS, valueS);
/* Do we want this ? Preserve the headers, maybe someone will
need them. Alternative is to use a different buffer every time,
1.11 +5 -4 jakarta-tomcat-connectors/jk/native2/common/jk_lb_worker.c
Index: jk_lb_worker.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_lb_worker.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- jk_lb_worker.c 16 Dec 2001 23:18:11 -0000 1.10
+++ jk_lb_worker.c 6 Jan 2002 09:06:02 -0000 1.11
@@ -60,7 +60,7 @@
* several workers. *
* Author: Gal Shachor <sh...@il.ibm.com> *
* Based on: *
- * Version: $Revision: 1.10 $ *
+ * Version: $Revision: 1.11 $ *
***************************************************************************/
#include "jk_pool.h"
@@ -110,7 +110,7 @@
It'll also adjust the load balancing factors.
*/
static jk_worker_t *get_most_suitable_worker(jk_env_t *env, jk_worker_t *p,
- jk_ws_service_t *s)
+ jk_ws_service_t *s, int attempt)
{
jk_worker_t *rc = NULL;
double lb_min = 0.0;
@@ -120,7 +120,7 @@
if(session_route) {
for(i = 0 ; i < p->num_of_workers ; i++) {
if(0 == strcmp(session_route, p->lb_workers[i]->name)) {
- if(p->lb_workers[i]->in_error_state) {
+ if(attempt > 0 && p->lb_workers[i]->in_error_state) {
break;
} else {
return p->lb_workers[i];
@@ -165,6 +165,7 @@
{
/* The 'real' endpoint */
jk_endpoint_t *end = NULL;
+ int attempt=0;
if(e==NULL || s==NULL || is_recoverable_error==NULL) {
env->l->jkLog(env, env->l, JK_LOG_ERROR,
@@ -177,7 +178,7 @@
e->realEndpoint=NULL;
while(1) {
- jk_worker_t *rec = get_most_suitable_worker(env, e->worker, s);
+ jk_worker_t *rec = get_most_suitable_worker(env, e->worker, s, attempt++);
int rc;
int is_recoverable = JK_FALSE;
1.2 +15 -15 jakarta-tomcat-connectors/jk/native2/common/apr/jk_channel_apr_socket.c
Index: jk_channel_apr_socket.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/apr/jk_channel_apr_socket.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jk_channel_apr_socket.c 31 Dec 2001 22:39:45 -0000 1.1
+++ jk_channel_apr_socket.c 6 Jan 2002 09:06:02 -0000 1.2
@@ -173,7 +173,7 @@
host = jk_map_getStrProp( env, props,
"worker", worker_name, "host", host);
tmp = jk_map_getStrProp( env, props,
- "worker", worker_name, "port", NULL );
+ "worker", worker_name, "port", NULL );
if( tmp != NULL )
port=jk_map_str2int( env, tmp);
@@ -186,7 +186,7 @@
err=jk_channel_socket_resolve( env, host, port, socketInfo );
if( err!= JK_TRUE ) {
env->l->jkLog(env, env->l, JK_LOG_ERROR, "jk_channel_socket_init: "
- "can't resolve %s:%d errno=%d\n", host, port, errno );
+ "can't resolve %s:%d errno=%d\n", host, port, errno );
}
env->l->jkLog(env, env->l, JK_LOG_INFO,
"channel_socket.init(): %s:%d for %s\n", host,
@@ -198,8 +198,8 @@
/** private: resolve the address on init
*/
static int JK_METHOD jk_channel_socket_resolve(jk_env_t *env,
-char *host, short port,
-jk_channel_socket_private_t *rc)
+ char *host, short port,
+ jk_channel_socket_private_t *rc)
{
/*
* If the hostname is an absolut path, we want a UNIX socket.
@@ -221,15 +221,6 @@
}
}
return JK_TRUE;
-
-}
-
-static int jk_close_socket(jk_env_t *env, apr_socket_t *s)
-{
- if (apr_socket_close(s)==APR_SUCCESS)
- return(0);
- else
- return(-1);
}
@@ -354,14 +345,23 @@
if( chD==NULL )
return JK_FALSE;
+ if (chD->type==TYPE_UNIX) {
+ close( chD->unixsock );
+ return 0;
+ }
+
sd=chD->sock;
chD->sock=NULL; /* XXX check it. */
/* nothing else to clean, the socket_data was allocated ouf of
* endpoint's pool
*/
- return jk_close_socket(env, sd);
+ if (apr_socket_close(sd)==APR_SUCCESS)
+ return(0);
+ else
+ return(-1);
}
+
/** send a long message
* @param sd opened socket.
* @param b buffer containing the data.
@@ -457,7 +457,7 @@
(char *)b + rdlen,
len - rdlen,
0);
- if(-1 == this_time) {
+ if(-1 == this_time) {
if(EAGAIN == errno) {
continue;
}
1.12 +2 -0 jakarta-tomcat-connectors/jk/native2/server/apache2/jk_logger_apache2.c
Index: jk_logger_apache2.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/jk_logger_apache2.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- jk_logger_apache2.c 17 Dec 2001 07:17:08 -0000 1.11
+++ jk_logger_apache2.c 6 Jan 2002 09:06:02 -0000 1.12
@@ -186,6 +186,8 @@
l->open =jk_logger_apache2_open;
l->jkLog = jk_logger_apache2_jkLog;
+ l->level=JK_LOG_ERROR_LEVEL;
+
*result=(void *)l;
return JK_TRUE;
1.4 +1 -1 jakarta-tomcat-connectors/jk/native2/server/apache2/jk_map_aprtable.c
Index: jk_map_aprtable.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/jk_map_aprtable.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- jk_map_aprtable.c 16 Dec 2001 23:36:58 -0000 1.3
+++ jk_map_aprtable.c 6 Jan 2002 09:06:02 -0000 1.4
@@ -87,7 +87,7 @@
{
apr_table_t *aprMap=_this->_private;
if( oldValue != NULL ) {
- *oldValue=apr_table_get( aprMap, name );
+ *oldValue=apr_table_get( aprMap, (char *)name );
}
apr_table_setn( aprMap, name, (char *)value );
1.8 +4 -1 jakarta-tomcat-connectors/jk/native2/server/apache2/jk_pool_apr.c
Index: jk_pool_apr.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/jk_pool_apr.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- jk_pool_apr.c 16 Dec 2001 23:36:58 -0000 1.7
+++ jk_pool_apr.c 6 Jan 2002 09:06:02 -0000 1.8
@@ -65,8 +65,11 @@
#include "jk_env.h"
#include "apr_pools.h"
#include "apr_strings.h"
+#include "apr_network_io.h"
+#include "apr_errno.h"
+#include "apr_general.h"
-#include "jk_apache2.h"
+/* #include "jk_apache2.h" */
/*
JK_APR_POOL_DEBUG will enable verbose messages on allocation.
1.6 +24 -4 jakarta-tomcat-connectors/jk/native2/server/apache2/jk_service_apache2.c
Index: jk_service_apache2.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/jk_service_apache2.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- jk_service_apache2.c 17 Dec 2001 07:17:08 -0000 1.5
+++ jk_service_apache2.c 6 Jan 2002 09:06:02 -0000 1.6
@@ -59,7 +59,7 @@
* Description: Apache 2 plugin for Jakarta/Tomcat
* Author: Gal Shachor <sh...@il.ibm.com>
* Henri Gomez <hg...@slib.fr>
- * Version: $Revision: 1.5 $
+ * Version: $Revision: 1.6 $
*/
#include "apu_compat.h"
@@ -92,7 +92,7 @@
#include "jk_apache2.h"
-#define USE_APRTABLES
+/* #define USE_APRTABLES */
#define NULL_FOR_EMPTY(x) ((x && !strlen(x)) ? NULL : x)
@@ -115,11 +115,15 @@
headers=s->headers_out;
/* XXX As soon as we switch to jk_map_apache2, this will not be needed ! */
+ env->l->jkLog(env, env->l, JK_LOG_INFO,
+ "service.head() %d %d\n", s->status, headers->size(env, headers ));
for(h = 0 ; h < headers->size( env, headers ) ; h++) {
char *name=headers->nameAt( env, headers, h );
char *val=headers->valueAt( env, headers, h );
+ env->l->jkLog(env, env->l, JK_LOG_INFO,
+ "service.head() %s: %s\n", name, val);
/* the cmp can also be avoided in we do this earlier and use
the header id */
if(!strcasecmp(name, "Content-type")) {
@@ -212,6 +216,7 @@
size_t r = 0;
long ll=len;
char *bb=(char *)b;
+ request_rec *rr=s->ws_private;
if(!s->response_started) {
env->l->jkLog(env, env->l, JK_LOG_INFO,
@@ -220,6 +225,21 @@
return JK_FALSE;
}
}
+
+
+ {
+ const apr_array_header_t *t = apr_table_elts(rr->headers_out);
+ if(t && t->nelts) {
+ int i;
+
+ apr_table_entry_t *elts = (apr_table_entry_t *)t->elts;
+
+ for(i = 0 ; i < t->nelts ; i++) {
+ env->l->jkLog(env, env->l, JK_LOG_INFO, "OutHeaders %s: %s\n",
+ elts[i].key, elts[i].val);
+ }
+ }
+ }
/* Debug - try to get around rwrite */
while( ll > 0 ) {
@@ -434,7 +454,7 @@
#ifdef USE_APRTABLES
jk_map_aprtable_factory( env, s->pool,
- &s->headers_in,
+ (void *)&s->headers_in,
"map", "aprtable" );
s->headers_in->init( env, s->headers_in, 0, r->headers_in);
#else
@@ -463,7 +483,7 @@
}
#ifdef USE_APRTABLES
- jk_map_aprtable_factory( env, s->pool, &s->headers_out,
+ jk_map_aprtable_factory( env, s->pool, (void *)&s->headers_out,
"map", "aprtable" );
s->headers_in->init( env, s->headers_out, 0, r->headers_out);
#else
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>