You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by mt...@apache.org on 2005/02/15 09:52:54 UTC
cvs commit: jakarta-tomcat-connectors/jk/native/common jk_ajp12_worker.c jk_ajp12_worker.h jk_ajp13_worker.c jk_ajp13_worker.h jk_ajp14_worker.c jk_ajp14_worker.h jk_jni_worker.c jk_jni_worker.h jk_lb_worker.c jk_lb_worker.h jk_service.h jk_status.c jk_status.h jk_worker.c jk_worker_list.h
mturk 2005/02/15 00:52:54
Modified: jk/native/common jk_ajp12_worker.c jk_ajp12_worker.h
jk_ajp13_worker.c jk_ajp13_worker.h
jk_ajp14_worker.c jk_ajp14_worker.h jk_jni_worker.c
jk_jni_worker.h jk_lb_worker.c jk_lb_worker.h
jk_service.h jk_status.c jk_status.h jk_worker.c
jk_worker_list.h
Log:
Make worker factory to return the numeric type of the worker,
and use that type instead of string.
Revision Changes Path
1.22 +3 -3 jakarta-tomcat-connectors/jk/native/common/jk_ajp12_worker.c
Index: jk_ajp12_worker.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp12_worker.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- jk_ajp12_worker.c 15 Feb 2005 07:17:17 -0000 1.21
+++ jk_ajp12_worker.c 15 Feb 2005 08:52:53 -0000 1.22
@@ -260,7 +260,7 @@
private_data->worker.retries = JK_RETRIES;
*w = &private_data->worker;
- return JK_TRUE;
+ return JK_AJP12_WORKER_TYPE;
}
free(private_data);
@@ -271,7 +271,7 @@
jk_log(l, JK_LOG_ERROR, "In ajp12_worker_factory, NULL parameters");
}
- return JK_FALSE;
+ return 0;
}
static int ajpv12_sendnbytes(ajp12_endpoint_t * p,
1.9 +2 -1 jakarta-tomcat-connectors/jk/native/common/jk_ajp12_worker.h
Index: jk_ajp12_worker.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp12_worker.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- jk_ajp12_worker.h 8 Nov 2004 13:23:25 -0000 1.8
+++ jk_ajp12_worker.h 15 Feb 2005 08:52:53 -0000 1.9
@@ -32,6 +32,7 @@
#endif /* __cplusplus */
#define JK_AJP12_WORKER_NAME ("ajp12")
+#define JK_AJP12_WORKER_TYPE (1)
int JK_METHOD ajp12_worker_factory(jk_worker_t **w,
const char *name, jk_logger_t *l);
1.24 +4 -4 jakarta-tomcat-connectors/jk/native/common/jk_ajp13_worker.c
Index: jk_ajp13_worker.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp13_worker.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- jk_ajp13_worker.c 6 Feb 2005 13:45:11 -0000 1.23
+++ jk_ajp13_worker.c 15 Feb 2005 08:52:53 -0000 1.24
@@ -84,7 +84,7 @@
if (name == NULL || w == NULL) {
JK_LOG_NULL_PARAMS(l);
JK_TRACE_EXIT(l);
- return JK_FALSE;
+ return 0;
}
aw = (ajp_worker_t *) calloc(1, sizeof(ajp_worker_t));
@@ -92,7 +92,7 @@
jk_log(l, JK_LOG_ERROR,
"malloc of private_data failed");
JK_TRACE_EXIT(l);
- return JK_FALSE;
+ return 0;
}
aw->name = name;
@@ -114,5 +114,5 @@
*w = &aw->worker;
JK_TRACE_EXIT(l);
- return JK_TRUE;
+ return JK_AJP13_WORKER_TYPE;
}
1.11 +2 -1 jakarta-tomcat-connectors/jk/native/common/jk_ajp13_worker.h
Index: jk_ajp13_worker.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp13_worker.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- jk_ajp13_worker.h 8 Nov 2004 13:24:46 -0000 1.10
+++ jk_ajp13_worker.h 15 Feb 2005 08:52:53 -0000 1.11
@@ -37,6 +37,7 @@
#endif /* __cplusplus */
#define JK_AJP13_WORKER_NAME ("ajp13")
+#define JK_AJP13_WORKER_TYPE (2)
int JK_METHOD ajp13_worker_factory(jk_worker_t **w,
const char *name, jk_logger_t *l);
1.28 +6 -6 jakarta-tomcat-connectors/jk/native/common/jk_ajp14_worker.c
Index: jk_ajp14_worker.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp14_worker.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- jk_ajp14_worker.c 6 Feb 2005 13:45:11 -0000 1.27
+++ jk_ajp14_worker.c 15 Feb 2005 08:52:53 -0000 1.28
@@ -376,7 +376,7 @@
if (name == NULL || w == NULL) {
JK_LOG_NULL_PARAMS(l);
JK_TRACE_EXIT(l);
- return JK_FALSE;
+ return 0;
}
aw = (ajp_worker_t *) calloc(1, sizeof(ajp_worker_t));
@@ -384,7 +384,7 @@
jk_log(l, JK_LOG_ERROR,
"malloc of private data failed");
JK_TRACE_EXIT(l);
- return JK_FALSE;
+ return 0;
}
aw->name = strdup(name);
@@ -394,7 +394,7 @@
jk_log(l, JK_LOG_ERROR,
"malloc failed for name");
JK_TRACE_EXIT(l);
- return JK_FALSE;
+ return 0;
}
aw->proto = AJP14_PROTO;
@@ -405,7 +405,7 @@
jk_log(l, JK_LOG_ERROR,
"malloc failed for login area");
JK_TRACE_EXIT(l);
- return JK_FALSE;
+ return 0;
}
memset(aw->login, 0, sizeof(jk_login_service_t));
@@ -429,5 +429,5 @@
*w = &aw->worker;
JK_TRACE_EXIT(l);
- return JK_TRUE;
+ return JK_AJP14_WORKER_TYPE;
}
1.13 +2 -1 jakarta-tomcat-connectors/jk/native/common/jk_ajp14_worker.h
Index: jk_ajp14_worker.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp14_worker.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- jk_ajp14_worker.h 8 Nov 2004 13:26:45 -0000 1.12
+++ jk_ajp14_worker.h 15 Feb 2005 08:52:53 -0000 1.13
@@ -39,6 +39,7 @@
#endif /* __cplusplus */
#define JK_AJP14_WORKER_NAME ("ajp14")
+#define JK_AJP14_WORKER_TYPE (3)
int JK_METHOD ajp14_worker_factory(jk_worker_t **w,
const char *name, jk_logger_t *l);
1.32 +6 -6 jakarta-tomcat-connectors/jk/native/common/jk_jni_worker.c
Index: jk_jni_worker.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_jni_worker.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- jk_jni_worker.c 7 Feb 2005 16:35:15 -0000 1.31
+++ jk_jni_worker.c 15 Feb 2005 08:52:53 -0000 1.32
@@ -639,7 +639,7 @@
if (!name || !w) {
JK_LOG_NULL_PARAMS(l);
JK_TRACE_EXIT(l);
- return JK_FALSE;
+ return 0;
}
if (the_singleton_jni_worker) {
@@ -647,7 +647,7 @@
"instance already created");
*w = the_singleton_jni_worker;
JK_TRACE_EXIT(l);
- return JK_TRUE;
+ return JK_JNI_WORKER_TYPE;
}
private_data = (jni_worker_t *) malloc(sizeof(jni_worker_t));
@@ -656,7 +656,7 @@
jk_log(l, JK_LOG_ERROR,
"memory allocation error");
JK_TRACE_EXIT(l);
- return JK_FALSE;
+ return 0;
}
jk_open_pool(&private_data->p,
@@ -670,7 +670,7 @@
jk_close_pool(&private_data->p);
free(private_data);
JK_TRACE_EXIT(l);
- return JK_FALSE;
+ return 0;
}
private_data->was_verified = JK_FALSE;
@@ -707,7 +707,7 @@
the_singleton_jni_worker = &private_data->worker;
JK_TRACE_EXIT(l);
- return JK_TRUE;
+ return JK_JNI_WORKER_TYPE;
}
static int load_jvm_dll(jni_worker_t * p, jk_logger_t *l)
1.9 +3 -2 jakarta-tomcat-connectors/jk/native/common/jk_jni_worker.h
Index: jk_jni_worker.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_jni_worker.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- jk_jni_worker.h 8 Nov 2004 13:29:52 -0000 1.8
+++ jk_jni_worker.h 15 Feb 2005 08:52:53 -0000 1.9
@@ -31,7 +31,8 @@
{
#endif /* __cplusplus */
-#define JK_JNI_WORKER_NAME ("jni")
+#define JK_JNI_WORKER_NAME ("jni")
+#define JK_JNI_WORKER_TYPE (4)
int JK_METHOD jni_worker_factory(jk_worker_t **w,
const char *name, jk_logger_t *l);
1.50 +4 -4 jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c
Index: jk_lb_worker.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- jk_lb_worker.c 15 Feb 2005 07:25:41 -0000 1.49
+++ jk_lb_worker.c 15 Feb 2005 08:52:53 -0000 1.50
@@ -785,7 +785,7 @@
if (!private_data->s) {
free(private_data);
JK_TRACE_EXIT(l);
- return JK_FALSE;
+ return 0;
}
strncpy(private_data->s->name, name, JK_SHM_STR_SIZ);
private_data->lb_workers = NULL;
@@ -800,12 +800,12 @@
private_data->s->recover_wait_time = WAIT_BEFORE_RECOVER;
*w = &private_data->worker;
JK_TRACE_EXIT(l);
- return JK_TRUE;
+ return JK_LB_WORKER_TYPE;
}
else {
JK_LOG_NULL_PARAMS(l);
}
JK_TRACE_EXIT(l);
- return JK_FALSE;
+ return 0;
}
1.11 +2 -1 jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.h
Index: jk_lb_worker.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- jk_lb_worker.h 14 Feb 2005 17:22:35 -0000 1.10
+++ jk_lb_worker.h 15 Feb 2005 08:52:53 -0000 1.11
@@ -34,6 +34,7 @@
#endif /* __cplusplus */
#define JK_LB_WORKER_NAME ("lb")
+#define JK_LB_WORKER_TYPE (5)
#define JK_LB_DEF_DOMAIN_NAME ("unknown")
struct worker_record
1.28 +2 -2 jakarta-tomcat-connectors/jk/native/common/jk_service.h
Index: jk_service.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_service.h,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- jk_service.h 14 Feb 2005 17:26:34 -0000 1.27
+++ jk_service.h 15 Feb 2005 08:52:53 -0000 1.28
@@ -364,7 +364,7 @@
*/
void *worker_private;
- const char *type;
+ int type;
/*
* For all of the below (except destroy), the first argument is
* essentially a 'this' pointer.
1.7 +30 -11 jakarta-tomcat-connectors/jk/native/common/jk_status.c
Index: jk_status.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_status.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- jk_status.c 15 Feb 2005 07:27:46 -0000 1.6
+++ jk_status.c 15 Feb 2005 08:52:53 -0000 1.7
@@ -29,6 +29,8 @@
#include "jk_shm.h"
#include "jk_ajp_common.h"
#include "jk_lb_worker.h"
+#include "jk_ajp13_worker.h"
+#include "jk_ajp14_worker.h"
#include "jk_connect.h"
#define HUGE_BUFFER_SIZE (8*1024)
@@ -61,6 +63,17 @@
jk_worker_env_t *we;
};
+static const char *worker_type[] = {
+ "unknown",
+ "ajp12",
+ "ajp13",
+ "ajp14",
+ "jni",
+ "lb",
+ "status",
+ NULL
+};
+
static const char *headers_names[] = {
"Content-Type",
"Cache-Control",
@@ -170,6 +183,14 @@
} while (1);
}
+static const char *status_worker_type(int t)
+{
+ if (t > 0 && t < 7)
+ t = 0;
+ return worker_type[t];
+}
+
+
static const char *status_val_bool(int v)
{
if (v == 0)
@@ -240,13 +261,11 @@
lb_worker_t *lb = NULL;
if (w == NULL)
continue;
- if (!strcasecmp(w->type, "lb")) {
+ if (w->type == JK_LB_WORKER_TYPE) {
lb = (lb_worker_t *)w->worker_private;
}
- else if (!strcasecmp(w->type, "ajp13")) {
- aw = (ajp_worker_t *)w->worker_private;
- }
- else if (!strcasecmp(w->type, "ajp14")) {
+ else if (w->type == JK_AJP13_WORKER_TYPE ||
+ w->type == JK_AJP14_WORKER_TYPE) {
aw = (ajp_worker_t *)w->worker_private;
}
else {
@@ -265,7 +284,7 @@
"<th>Local worker only</th>"
"<th>Retries</th>"
"</tr>\n<tr>");
- jk_putv(s, "<td>", w->type, "</td>", NULL);
+ jk_putv(s, "<td>", status_worker_type(w->type), "</td>", NULL);
jk_putv(s, "<td>", status_val_bool(lb->s->sticky_session),
"</td>", NULL);
jk_putv(s, "<td>", status_val_bool(lb->s->local_worker_only),
@@ -285,7 +304,7 @@
wr->s->name, "</td>", NULL);
if (dworker && strcmp(dworker, wr->s->name) == 0)
selected = j;
- jk_putv(s, "<td>", wr->w->type, "</td>", NULL);
+ jk_putv(s, "<td>", status_worker_type(wr->w->type), "</td>", NULL);
jk_printf(s, "<td>%s:%d</td>", a->host, a->port);
jk_putv(s, "<td>", jk_dump_hinfo(&a->worker_inet_addr, buf),
"</td>", NULL);
@@ -344,7 +363,7 @@
jk_puts(s, "\n\n<table border=\"0\"><tr>"
"<th>Type</th><th>Host</th><th>Addr</th>"
"</tr>\n<tr>");
- jk_putv(s, "<td>", w->type, "</td>", NULL);
+ jk_putv(s, "<td>", status_worker_type(w->type), "</td>", NULL);
jk_puts(s, "</tr>\n</table>\n");
jk_printf(s, "<td>%s:%d</td>", aw->host, aw->port);
jk_putv(s, "<td>", jk_dump_hinfo(&aw->worker_inet_addr, buf),
@@ -575,12 +594,12 @@
private_data->ep.s_worker = private_data;
*w = &private_data->worker;
JK_TRACE_EXIT(l);
- return JK_TRUE;
+ return JK_STATUS_WORKER_TYPE;
}
else {
JK_LOG_NULL_PARAMS(l);
}
JK_TRACE_EXIT(l);
- return JK_FALSE;
+ return 0;
}
1.2 +2 -2 jakarta-tomcat-connectors/jk/native/common/jk_status.h
Index: jk_status.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_status.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- jk_status.h 6 Feb 2005 17:43:09 -0000 1.1
+++ jk_status.h 15 Feb 2005 08:52:53 -0000 1.2
@@ -32,7 +32,7 @@
#endif /* __cplusplus */
#define JK_STATUS_WORKER_NAME ("status")
-#define JK_STATUS_DEF_DOMAIN_NAME ("unknown")
+#define JK_STATUS_WORKER_TYPE (6)
int JK_METHOD status_worker_factory(jk_worker_t **w,
const char *name, jk_logger_t *l);
1.31 +4 -3 jakarta-tomcat-connectors/jk/native/common/jk_worker.c
Index: jk_worker.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_worker.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- jk_worker.c 14 Feb 2005 17:26:34 -0000 1.30
+++ jk_worker.c 15 Feb 2005 08:52:54 -0000 1.31
@@ -110,6 +110,7 @@
jk_worker_t *w = NULL;
unsigned int i, num_of_maps;
char **map_names;
+ int wtype;
*rc = NULL;
@@ -125,7 +126,7 @@
"about to create instance %s of %s", name,
type);
- if (!fac(&w, name, l) || !w) {
+ if (((wtype = fac(&w, name, l)) == 0) || !w) {
jk_log(l, JK_LOG_ERROR,
"factory for %s failed for %s", type,
name);
@@ -169,7 +170,7 @@
}
}
}
- w->type = type;
+ w->type = wtype;
*rc = w;
JK_TRACE_EXIT(l);
return JK_TRUE;
1.13 +9 -8 jakarta-tomcat-connectors/jk/native/common/jk_worker_list.h
Index: jk_worker_list.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_worker_list.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- jk_worker_list.h 6 Feb 2005 17:43:09 -0000 1.12
+++ jk_worker_list.h 15 Feb 2005 08:52:54 -0000 1.13
@@ -51,6 +51,7 @@
struct worker_factory_record
{
const char *name;
+ int type;
worker_factory fac;
};
typedef struct worker_factory_record worker_factory_record_t;
@@ -59,38 +60,38 @@
/*
* AJPv12 worker, this is the stable worker.
*/
- {JK_AJP12_WORKER_NAME, ajp12_worker_factory},
+ {JK_AJP12_WORKER_NAME, JK_AJP12_WORKER_TYPE, ajp12_worker_factory},
/*
* AJPv13 worker, fast bi-directional worker.
*/
- {JK_AJP13_WORKER_NAME, ajp13_worker_factory},
+ {JK_AJP13_WORKER_NAME, JK_AJP13_WORKER_TYPE, ajp13_worker_factory},
/*
* AJPv14 worker, next generation fast bi-directional worker.
*/
- {JK_AJP14_WORKER_NAME, ajp14_worker_factory},
+ {JK_AJP14_WORKER_NAME, JK_AJP14_WORKER_TYPE, ajp14_worker_factory},
/*
* In process JNI based worker. Requires the server to be
* multithreaded and to use native threads.
*/
#ifdef HAVE_JNI
- {JK_JNI_WORKER_NAME, jni_worker_factory},
+ {JK_JNI_WORKER_NAME, JK_JNI_WORKER_TYPE, jni_worker_factory},
#endif
/*
* Load balancing worker. Performs round robin with sticky
* session load balancing.
*/
- {JK_LB_WORKER_NAME, lb_worker_factory},
+ {JK_LB_WORKER_NAME, JK_LB_WORKER_TYPE, lb_worker_factory},
/*
* Status worker. Performs display display and
* worker management.
*/
- {JK_STATUS_WORKER_NAME, status_worker_factory},
+ {JK_STATUS_WORKER_NAME, JK_STATUS_WORKER_TYPE, status_worker_factory},
/*
* Marks the end of the worker factory list.
*/
- {NULL, NULL}
+ {NULL, 0, NULL}
};
#endif /* _JK_WORKER_LIST_H */
#endif /* _PLACE_WORKER_LIST_HERE */
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org