Author: rjung
Date: Sun Aug 27 16:59:37 2006
New Revision: 437478
URL: http://svn.apache.org/viewvc?rev=437478&view=rev
Log:
Change independant runtime state flags error/recovering/busy to
single scalar with values ok/error/recovering/busy.
Change independant config state flags stopped/disabled to+
single scalar with values active/disabled/stopped.
Modified:
tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h
tomcat/connectors/trunk/jk/native/common/jk_shm.h
tomcat/connectors/trunk/jk/native/common/jk_status.c
tomcat/connectors/trunk/jk/native/common/jk_util.c
tomcat/connectors/trunk/jk/native/common/jk_util.h
Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
URL:
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c?rev=437478&r1=437477&r2=437478&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Sun Aug 27 16:59:37
2006
@@ -39,8 +39,8 @@
* The load balancing code in this
*/
-#define JK_WORKER_IN_ERROR(w) ((w)->in_error_state && !(w)->is_busy)
-#define JK_WORKER_USABLE(w) (!(w)->in_error_state && !(w)->is_stopped &&
!(w)->is_disabled && !(w)->is_busy)
+#define JK_WORKER_USABLE(w) ((w)->state != JK_LB_STATE_ERROR && (w)->state
!= JK_LB_STATE_BUSY && (w)->activation != JK_LB_ACTIVATION_STOPPED &&
(w)->activation != JK_LB_ACTIVATION_DISABLED)
+#define JK_WORKER_USABLE_STICKY(w) ((w)->state != JK_LB_STATE_ERROR &&
(w)->activation != JK_LB_ACTIVATION_STOPPED)
struct lb_endpoint
{
@@ -236,7 +236,7 @@
for (i = 0; i < p->num_of_workers; i++) {
w = &p->lb_workers[i];
- if (JK_WORKER_IN_ERROR(w->s)) {
+ if (w->s->state == JK_LB_STATE_ERROR) {
elapsed = (int)difftime(now, w->s->error_time);
if (elapsed <= p->s->recover_wait_time) {
if (JK_IS_DEBUG_LEVEL(l))
@@ -250,9 +250,7 @@
"worker %s is marked for recovery",
w->s->name);
w->s->lb_value = curmax;
- w->s->in_recovering = JK_TRUE;
- w->s->in_error_state = JK_FALSE;
- w->s->is_busy = JK_FALSE;
+ w->s->state = JK_LB_STATE_RECOVER;
}
}
}
@@ -436,7 +434,7 @@
candidate = find_best_bydomain(p, name, l);
}
if (candidate) {
- if (candidate->s->in_error_state || candidate->s->is_stopped ) {
+ if (!JK_WORKER_USABLE_STICKY(candidate->s)) {
/* We have a worker that is error state or stopped.
* If it has a redirection set use that redirection worker.
* This enables to safely remove the member from the
@@ -451,7 +449,7 @@
uses_domain = 1;
candidate = find_best_bydomain(p, candidate->s->domain, l);
}
- if (candidate && (candidate->s->in_error_state ||
candidate->s->is_stopped))
+ if (candidate && !JK_WORKER_USABLE_STICKY(candidate->s))
candidate = NULL;
}
}
@@ -503,7 +501,7 @@
/* No need to find the best worker
* if there is a single one
*/
- if(!p->lb_workers[0].s->in_error_state &&
!p->lb_workers[0].s->is_stopped) {
+ if (JK_WORKER_USABLE_STICKY(p->lb_workers[0].s)) {
p->lb_workers[0].r = &(p->lb_workers[0].s->jvm_route[0]);
JK_TRACE_EXIT(l);
return &p->lb_workers[0];
@@ -674,7 +672,8 @@
* as in error if the retry number is
* greater then the number of retries.
*/
- rec->s->is_busy = JK_TRUE;
+ if (rec->s->state != JK_LB_STATE_ERROR)
+ rec->s->state = JK_LB_STATE_BUSY;
jk_log(l, JK_LOG_INFO,
"could not get free endpoint for worker %s (%d
retries)",
rec->s->name, retry);
@@ -743,7 +742,8 @@
/* When returning the endpoint mark the worker as not busy.
* We have at least one endpoint free
*/
- rec->s->is_busy = JK_FALSE;
+ if (rec->s->state == JK_LB_STATE_BUSY)
+ rec->s->state = JK_LB_STATE_OK;
/* Decrement the busy worker count.
* Check if the busy was reset to zero by graceful
* restart of the server.
@@ -753,8 +753,7 @@
if (p->worker->s->busy)
p->worker->s->busy--;
if (service_stat == JK_TRUE) {
- rec->s->in_error_state = JK_FALSE;
- rec->s->in_recovering = JK_FALSE;
+ rec->s->state = JK_LB_STATE_OK;
rec->s->error_time = 0;
if (p->worker->lblock == JK_LB_LOCK_PESSIMISTIC)
jk_shm_unlock();
@@ -768,8 +767,7 @@
*/
rec->s->errors++;
- rec->s->in_error_state = JK_TRUE;
- rec->s->in_recovering = JK_FALSE;
+ rec->s->state = JK_LB_STATE_ERROR;
rec->s->error_time = time(NULL);
if (p->worker->lblock == JK_LB_LOCK_PESSIMISTIC)
jk_shm_unlock();
@@ -797,8 +795,7 @@
* Since this is bad request do not fail over.
*/
rec->s->errors++;
- rec->s->in_error_state = JK_FALSE;
- rec->s->in_recovering = JK_FALSE;
+ rec->s->state = JK_LB_STATE_OK;
rec->s->error_time = 0;
if (p->worker->lblock == JK_LB_LOCK_PESSIMISTIC)
jk_shm_unlock();
@@ -855,6 +852,10 @@
snprintf(buf, JK_LB_MAX_SZ, "%d", prec->s->busy);
log_names[6] = JK_NOTE_LB_FIRST_BUSY;
log_values[6] = buf;
+ log_names[7] = JK_NOTE_LB_FIRST_ACTIVATION;
+ log_values[7] = lb_activation_type[rec->s->activation];
+ log_names[8] = JK_NOTE_LB_FIRST_STATE;
+ log_values[8] = lb_state_type[rec->s->state];
s->add_log_items(s, log_names, log_values,
JK_LB_NOTES_COUNT);
}
}
@@ -905,6 +906,10 @@
snprintf(buf, JK_LB_MAX_SZ, "%d", prec->s->busy);
log_names[6] = JK_NOTE_LB_LAST_BUSY;
log_values[6] = buf;
+ log_names[7] = JK_NOTE_LB_LAST_ACTIVATION;
+ log_values[7] = lb_activation_type[prec->s->activation];
+ log_names[8] = JK_NOTE_LB_LAST_STATE;
+ log_values[8] = lb_state_type[prec->s->state];
s->add_log_items(s, log_names, log_values, JK_LB_NOTES_COUNT);
}
}
@@ -996,14 +1001,9 @@
strncpy(p->lb_workers[i].s->redirect, s, JK_SHM_STR_SIZ);
p->lb_workers[i].s->lb_value = 0;
- p->lb_workers[i].s->in_error_state = JK_FALSE;
- p->lb_workers[i].s->in_recovering = JK_FALSE;
- p->lb_workers[i].s->is_busy = JK_FALSE;
+ p->lb_workers[i].s->state = JK_LB_STATE_NA;
p->lb_workers[i].s->error_time = 0;
- /* Worker can be initaly disabled as hot standby */
- p->lb_workers[i].s->is_disabled =
jk_get_is_worker_disabled(props, worker_names[i]);
- /* Worker can be initaly deactive as cold standby */
- p->lb_workers[i].s->is_stopped =
jk_get_is_worker_stopped(props, worker_names[i]);
+ p->lb_workers[i].s->activation =
jk_get_worker_activation(props, worker_names[i]);
if (!wc_create_worker(p->lb_workers[i].s->name, 0,
props,
&(p->lb_workers[i].w),
Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h
URL:
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h?rev=437478&r1=437477&r2=437478&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.h Sun Aug 27 16:59:37
2006
@@ -52,9 +52,25 @@
#define JK_LB_LOCK_TEXT_OPTIMISTIC ("Optimistic")
#define JK_LB_LOCK_TEXT_PESSIMISTIC ("Pessimistic")
#define JK_LB_LOCK_TEXT_DEF (JK_LB_LOCK_TEXT_OPTIMISTIC)
+#define JK_LB_STATE_NA (1)
+#define JK_LB_STATE_OK (2)
+#define JK_LB_STATE_RECOVER (3)
+#define JK_LB_STATE_BUSY (4)
+#define JK_LB_STATE_ERROR (5)
+#define JK_LB_STATE_TEXT_NA ("N/A")
+#define JK_LB_STATE_TEXT_OK ("OK")
+#define JK_LB_STATE_TEXT_RECOVER ("REC")
+#define JK_LB_STATE_TEXT_BUSY ("BSY")
+#define JK_LB_STATE_TEXT_ERROR ("ERR")
+#define JK_LB_ACTIVATION_ACTIVE (1)
+#define JK_LB_ACTIVATION_DISABLED (2)
+#define JK_LB_ACTIVATION_STOPPED (3)
+#define JK_LB_ACTIVATION_TEXT_ACTIVE ("ACT")
+#define JK_LB_ACTIVATION_TEXT_DISABLED ("DIS")
+#define JK_LB_ACTIVATION_TEXT_STOPPED ("STP")
#define JK_LB_MAX_SZ (21)
-#define JK_LB_NOTES_COUNT (7)
+#define JK_LB_NOTES_COUNT (9)
#define JK_NOTE_LB_FIRST_NAME ("JK_LB_FIRST_NAME")
#define JK_NOTE_LB_FIRST_VALUE ("JK_LB_FIRST_VALUE")
#define JK_NOTE_LB_FIRST_ACCESSED ("JK_LB_FIRST_ACCESSED")
@@ -62,6 +78,8 @@
#define JK_NOTE_LB_FIRST_TRANSFERRED ("JK_LB_FIRST_TRANSFERRED")
#define JK_NOTE_LB_FIRST_ERRORS ("JK_LB_FIRST_ERRORS")
#define JK_NOTE_LB_FIRST_BUSY ("JK_LB_FIRST_BUSY")
+#define JK_NOTE_LB_FIRST_ACTIVATION ("JK_LB_FIRST_ACTIVATION")
+#define JK_NOTE_LB_FIRST_STATE ("JK_LB_FIRST_STATE")
#define JK_NOTE_LB_LAST_NAME ("JK_LB_LAST_NAME")
#define JK_NOTE_LB_LAST_VALUE ("JK_LB_LAST_VALUE")
#define JK_NOTE_LB_LAST_ACCESSED ("JK_LB_LAST_ACCESSED")
@@ -69,6 +87,8 @@
#define JK_NOTE_LB_LAST_TRANSFERRED ("JK_LB_LAST_TRANSFERRED")
#define JK_NOTE_LB_LAST_ERRORS ("JK_LB_LAST_ERRORS")
#define JK_NOTE_LB_LAST_BUSY ("JK_LB_LAST_BUSY")
+#define JK_NOTE_LB_LAST_ACTIVATION ("JK_LB_LAST_ACTIVATION")
+#define JK_NOTE_LB_LAST_STATE ("JK_LB_LAST_STATE")
/* Minimal time in ms to wait between get_endpoint retries for balanced
workers */
#define JK_LB_MIN_RETRY_WAIT (25)
@@ -95,6 +115,24 @@
JK_LB_METHOD_TEXT_REQUESTS,
JK_LB_METHOD_TEXT_TRAFFIC,
JK_LB_METHOD_TEXT_BUSYNESS,
+ NULL
+};
+
+static const char *lb_state_type[] = {
+ "unknown",
+ JK_LB_STATE_TEXT_NA,
+ JK_LB_STATE_TEXT_OK,
+ JK_LB_STATE_TEXT_RECOVER,
+ JK_LB_STATE_TEXT_BUSY,
+ JK_LB_STATE_TEXT_ERROR,
+ NULL
+};
+
+static const char *lb_activation_type[] = {
+ "unknown",
+ JK_LB_ACTIVATION_TEXT_ACTIVE,
+ JK_LB_ACTIVATION_TEXT_DISABLED,
+ JK_LB_ACTIVATION_TEXT_STOPPED,
NULL
};
Modified: tomcat/connectors/trunk/jk/native/common/jk_shm.h
URL:
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_shm.h?rev=437478&r1=437477&r2=437478&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_shm.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_shm.h Sun Aug 27 16:59:37 2006
@@ -74,18 +74,16 @@
char redirect[JK_SHM_STR_SIZ+1];
/* worker distance */
volatile int distance;
- /* current status of the worker */
- volatile int is_disabled;
- volatile int is_stopped;
- volatile int is_busy;
+ /* current activation state (config) of the worker */
+ volatile int activation;
+ /* current error state (runtime) of the worker */
+ volatile int state;
/* Current lb factor */
volatile int lb_factor;
/* Current lb reciprocal factor */
volatile jk_uint64_t lb_mult;
/* Current lb value */
volatile jk_uint64_t lb_value;
- volatile int in_error_state;
- volatile int in_recovering;
int sticky_session;
int sticky_session_force;
int recover_wait_time;
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=437478&r1=437477&r2=437478&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_status.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_status.c Sun Aug 27 16:59:37
2006
@@ -217,22 +217,6 @@
return "True";
}
-static const char *status_val_status(int s, int d, int e, int r, int b)
-{
- if (s)
- return "Stopped";
- else if (d)
- return "Disabled";
- else if (r)
- return "Recovering";
- else if (e)
- return "Error";
- else if (b)
- return "Busy";
- else
- return "OK";
-}
-
static const char *status_val_match(unsigned int match)
{
if (match & MATCH_TYPE_STOPPED)
@@ -456,7 +440,7 @@
jk_puts(s, "</tr>\n</table>\n<br/>\n");
jk_puts(s, "<table><tr>"
"<th>Name</th><th>Type</th><th>jvmRoute</th><th>Host</th><th>Addr</th>"
-
"<th>Stat</th><th>D</th><th>F</th><th>M</th><th>V</th><th>Acc</th><th>Err</th>"
+
"<th>Act</th><th>Stat</th><th>D</th><th>F</th><th>M</th><th>V</th><th>Acc</th><th>Err</th>"
"<th>Wr</th><th>Rd</th><th>Busy</th><th>Max</th><th>RR</th><th>Cd</th></tr>\n");
for (j = 0; j < lb->num_of_workers; j++) {
worker_record_t *wr = &(lb->lb_workers[j]);
@@ -473,13 +457,8 @@
jk_putv(s, "<td>", jk_dump_hinfo(&a->worker_inet_addr, buf),
"</td>", NULL);
/* TODO: descriptive status */
- jk_putv(s, "<td>",
- status_val_status(wr->s->is_stopped,
- wr->s->is_disabled,
- wr->s->in_error_state,
- wr->s->in_recovering,
- wr->s->is_busy),
- "</td>", NULL);
+ jk_putv(s, "<td>", lb_activation_type[wr->s->activation],
"</td>", NULL);
+ jk_putv(s, "<td>", lb_state_type[wr->s->state], "</td>", NULL);
jk_printf(s, "<td>%d</td>", wr->s->distance);
jk_printf(s, "<td>%d</td>", wr->s->lb_factor);
jk_printf(s, "<td>%" JK_UINT64_T_FMT "</td>", wr->s->lb_mult);
@@ -530,13 +509,21 @@
jk_puts(s, "<tr><td>Cluster Domain:</td><td><input name=\"wc\"
type=\"text\" ");
jk_putv(s, "value=\"", wr->s->domain, NULL);
jk_puts(s, "\"/></td></tr>\n");
- jk_puts(s, "<tr><td>Disabled:</td><td><input name=\"wd\"
type=\"checkbox\"");
- if (wr->s->is_disabled)
- jk_puts(s, " checked=\"checked\"");
+ jk_puts(s, "<tr><td>Activation:</td><td></td></tr>\n");
+ jk_puts(s, "<tr><td> Active</td><td><input
name=\"wa\" type=\"radio\"");
+ jk_printf(s, " value=\"%d\"", JK_LB_ACTIVATION_ACTIVE);
+ if (wr->s->activation == JK_LB_ACTIVATION_ACTIVE)
+ jk_puts(s, " checked=\"checked\"");
+ jk_puts(s, "/></td></tr>\n");
+ jk_puts(s, "<tr><td> Disabled</td><td><input
name=\"wa\" type=\"radio\"");
+ jk_printf(s, " value=\"%d\"", JK_LB_ACTIVATION_DISABLED);
+ if (wr->s->activation == JK_LB_ACTIVATION_DISABLED)
+ jk_puts(s, " checked=\"checked\"");
jk_puts(s, "/></td></tr>\n");
- jk_puts(s, "<tr><td>Stopped:</td><td><input name=\"ws\"
type=\"checkbox\"");
- if (wr->s->is_stopped)
- jk_puts(s, " checked=\"checked\"");
+ jk_puts(s, "<tr><td> Stopped</td><td><input
name=\"wa\" type=\"radio\"");
+ jk_printf(s, " value=\"%d\"", JK_LB_ACTIVATION_STOPPED);
+ if (wr->s->activation == JK_LB_ACTIVATION_STOPPED)
+ jk_puts(s, " checked=\"checked\"");
jk_puts(s, "/></td></tr>\n");
jk_puts(s, "</table>\n");
jk_puts(s, "<br/><input type=\"submit\" value=\"Update
Worker\"/>\n</form>\n");
@@ -591,7 +578,8 @@
"<tr><th>Type</th><td>Worker type</td></tr>\n"
"<tr><th>jvmRoute</th><td>Worker JVM route</td></tr>\n"
"<tr><th>Addr</th><td>Backend Address info</td></tr>\n"
- "<tr><th>Stat</th><td>Worker status</td></tr>\n"
+ "<tr><th>Act</th><td>Worker activation configuration</td></tr>\n"
+ "<tr><th>Stat</th><td>Worker error status</td></tr>\n"
"<tr><th>D</th><td>Worker distance</td></tr>\n"
"<tr><th>F</th><td>Load Balancer factor</td></tr>\n"
"<tr><th>M</th><td>Load Balancer multiplicity</td></tr>\n"
@@ -654,18 +642,15 @@
worker_record_t *wr = &(lb->lb_workers[j]);
ajp_worker_t *a = (ajp_worker_t *)wr->w->worker_private;
/* TODO: descriptive status */
- jk_printf(s, " <jk:member id=\"%d\" name=\"%s\" type=\"%s\"
host=\"%s\" port=\"%d\" address=\"%s\" status=\"%s\"",
+ jk_printf(s, " <jk:member id=\"%d\" name=\"%s\" type=\"%s\"
host=\"%s\" port=\"%d\" address=\"%s\" activation=\"%s\" state=\"%s\"",
j,
wr->s->name,
status_worker_type(wr->w->type),
a->host,
a->port,
jk_dump_hinfo(&a->worker_inet_addr, buf),
- status_val_status(wr->s->is_stopped,
- wr->s->is_disabled,
- wr->s->in_error_state,
- wr->s->in_recovering,
- wr->s->is_busy) );
+ lb_activation_type[wr->s->activation],
+ lb_state_type[wr->s->state]);
jk_printf(s, " distance=\"%d\"", wr->s->distance);
jk_printf(s, " lbfactor=\"%d\"", wr->s->lb_factor);
@@ -698,7 +683,6 @@
const char *dworker, jk_logger_t *l)
{
int i;
- int j;
char buf[1024];
const char *b;
lb_worker_t *lb;
@@ -753,21 +737,17 @@
strncpy(wr->s->domain, b, JK_SHM_STR_SIZ);
else
memset(wr->s->domain, 0, JK_SHM_STR_SIZ);
- i = status_bool("wd", s->query_string);
- j = status_bool("ws", s->query_string);
- if (wr->s->is_disabled!=i || wr->s->is_stopped!=j) {
- wr->s->is_disabled = i;
- wr->s->is_stopped = j;
+ i = status_int("wa", s->query_string, wr->s->activation);
+ if (wr->s->activation != i) {
+ wr->s->activation = i;
reset_lb_values(lb, l);
- if (i+j==0) {
- jk_log(l, JK_LOG_INFO,
- "worker %s restarted in status worker"
- JK_UINT64_T_FMT,
- wr->s->name);
- }
+ jk_log(l, JK_LOG_INFO,
+ "worker '%s' activation changed to '%s' via status worker",
+ wr->s->name,
+ lb_activation_type[wr->s->activation]);
}
i = status_int("wx", s->query_string, wr->s->distance);
- if (wr->s->distance!=i) {
+ if (wr->s->distance != i) {
wr->s->distance = i;
reset_lb_values(lb, l);
}
@@ -799,9 +779,7 @@
wr->s->max_busy = 0;
wr->s->readed = 0;
wr->s->transferred = 0;
- wr->s->is_busy = JK_FALSE;
- wr->s->in_error_state = JK_FALSE;
- wr->s->in_recovering = JK_FALSE;
+ wr->s->state = JK_LB_STATE_NA;
}
}
}
@@ -914,7 +892,7 @@
jk_putv(s, "<dl><dt>Server Version:</dt><dd>",
s->server_software, "</dd>\n", NULL);
jk_putv(s, "<dt>JK Version:</dt><dd>",
- JK_VERSTRING, "\n</dd></dl>\n", NULL);
+ JK_VERSTRING, "\n</dd></dl>\n", NULL);
}
if ( cmd == 0 ) {
jk_putv(s, "[<a href=\"", s->req_uri, NULL);
Modified: tomcat/connectors/trunk/jk/native/common/jk_util.c
URL:
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_util.c?rev=437478&r1=437477&r2=437478&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_util.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_util.c Sun Aug 27 16:59:37 2006
@@ -74,6 +74,7 @@
#define LOCK_OF_WORKER ("lock")
#define IS_WORKER_DISABLED ("disabled")
#define IS_WORKER_STOPPED ("stopped")
+#define ACTIVATION_OF_WORKER ("activation")
#define WORKER_RECOVER_TIME ("recover_time")
@@ -763,6 +764,32 @@
return rc;
}
+int jk_get_worker_activation(jk_map_t *m, const char *wname)
+{
+ char buf[1024];
+ const char *v;
+ if (!m || !wname) {
+ return JK_LB_ACTIVATION_ACTIVE;
+ }
+
+ MAKE_WORKER_PARAM(ACTIVATION_OF_WORKER);
+ v = jk_map_get_string(m, buf, NULL);
+ if (v) {
+ if (*v == 'a' || *v == 'A')
+ return JK_LB_ACTIVATION_ACTIVE;
+ else if (*v == 's' || *v == 'S')
+ return JK_LB_ACTIVATION_STOPPED;
+ else if (*v == 'd' || *v == 'D')
+ return JK_LB_ACTIVATION_DISABLED;
+ }
+ else if (jk_get_is_worker_stopped(m, wname))
+ return JK_LB_ACTIVATION_STOPPED;
+ else if (jk_get_is_worker_disabled(m, wname))
+ return JK_LB_ACTIVATION_DISABLED;
+ else
+ return JK_LB_ACTIVATION_ACTIVE;
+}
+
void jk_set_log_format(const char *logformat)
{
jk_log_fmt = (logformat) ? logformat : JK_TIME_FORMAT;
@@ -1121,6 +1148,7 @@
METHOD_OF_WORKER,
IS_WORKER_DISABLED,
IS_WORKER_STOPPED,
+ ACTIVATION_OF_WORKER,
WORKER_RECOVER_TIME,
SECRET_OF_WORKER,
RETRIES_OF_WORKER,
@@ -1139,6 +1167,8 @@
LIBPATH_OF_WORKER,
CMD_LINE_OF_WORKER,
NATIVE_LIB_OF_WORKER,
+ IS_WORKER_DISABLED,
+ IS_WORKER_STOPPED,
NULL
};
Modified: tomcat/connectors/trunk/jk/native/common/jk_util.h
URL:
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_util.h?rev=437478&r1=437477&r2=437478&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_util.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_util.h Sun Aug 27 16:59:37 2006
@@ -95,6 +95,8 @@
int jk_get_is_worker_stopped(jk_map_t *m, const char *wname);
+int jk_get_worker_activation(jk_map_t *m, const char *wname);
+
void jk_set_log_format(const char *logformat);
int jk_get_worker_list(jk_map_t *m, char ***list, unsigned *num_of_wokers);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]