Author: rjung Date: Wed Jan 23 04:17:04 2008 New Revision: 614517 URL: http://svn.apache.org/viewvc?rev=614517&view=rev Log: Fix unmount with worker '*': - don't parse extension attributes for unmount rules - include '*' unmounts in status worker rule map display Fix provided by Eiji Takahashi (mashmk02 gmail com).
Modified: tomcat/connectors/trunk/jk/native/common/jk_status.c tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.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=614517&r1=614516&r2=614517&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_status.c (original) +++ tomcat/connectors/trunk/jk/native/common/jk_status.c Wed Jan 23 04:17:04 2008 @@ -1358,7 +1358,8 @@ if (uw_map) { for (i = 0; i < uw_map->size[uw_map->index]; i++) { uri_worker_record_t *uwr = uw_map->maps[uw_map->index][i]; - if (strcmp(uwr->worker_name, worker)) { + if (strcmp(uwr->worker_name, worker) && + strcmp(uwr->worker_name, "*")) { continue; } count++; @@ -1409,7 +1410,8 @@ for (i = 0; i < uw_map->size[uw_map->index]; i++) { uri_worker_record_t *uwr = uw_map->maps[uw_map->index][i]; - if (strcmp(uwr->worker_name, worker)) { + if (strcmp(uwr->worker_name, worker) && + strcmp(uwr->worker_name, "*")) { continue; } (*count_ptr)++; Modified: tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c?rev=614517&r1=614516&r2=614517&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c (original) +++ tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c Wed Jan 23 04:17:04 2008 @@ -468,7 +468,16 @@ for (i = 0; i < IND_NEXT(uw_map->size); i++) { uri_worker_record_t *uwr = IND_NEXT(uw_map->maps)[i]; - jk_worker_t *jw = wc_get_worker_for_name(uwr->worker_name, l); + jk_worker_t *jw; + if(uwr->match_type & MATCH_TYPE_NO_MATCH) + continue; + jw = wc_get_worker_for_name(uwr->worker_name, l); + if(!jw) { + jk_log(l, JK_LOG_ERROR, + "Could not find worker with name '%s' in uri map post processing.", + uwr->worker_name); + continue; + } if (JK_IS_DEBUG_LEVEL(l)) jk_log(l, JK_LOG_DEBUG, "Checking extension for worker %d: %s of type %s (%d)", @@ -854,7 +863,8 @@ (uwr->match_type & MATCH_TYPE_DISABLED)) continue; /* Check only matching workers */ - if (*uwr->worker_name != '*' && strcmp(uwr->worker_name, worker)) + if (strcmp(uwr->worker_name, worker) && + strcmp(uwr->worker_name, "*")) continue; if (uwr->match_type & MATCH_TYPE_WILDCHAR_PATH) { /* Map is already sorted by context_len */ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]