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 2012/03/28 14:16:52 UTC
svn commit: r1306287 - in /tomcat/jk/trunk/native/common: jk_map.c jk_map.h
Author: mturk
Date: Wed Mar 28 12:16:52 2012
New Revision: 1306287
URL: http://svn.apache.org/viewvc?rev=1306287&view=rev
Log:
Add global jk_map id. Similar to uri mappings this is for getting the unique context where workers gets created
Modified:
tomcat/jk/trunk/native/common/jk_map.c
tomcat/jk/trunk/native/common/jk_map.h
Modified: tomcat/jk/trunk/native/common/jk_map.c
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_map.c?rev=1306287&r1=1306286&r2=1306287&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_map.c (original)
+++ tomcat/jk/trunk/native/common/jk_map.c Wed Mar 28 12:16:52 2012
@@ -64,19 +64,7 @@
} \
}
-struct jk_map
-{
- jk_pool_t p;
- jk_pool_atom_t buf[SMALL_POOL_SIZE];
-
- const char **names;
- const void **values;
- unsigned int *keys;
-
- unsigned int capacity;
- unsigned int size;
-};
-
+static volatile int global_map_id = 0;
static void trim_prp_comment(char *prp);
static size_t trim(char *s);
static int map_realloc(jk_map_t *m);
@@ -85,7 +73,9 @@ static char *jk_map_replace_properties(j
int jk_map_alloc(jk_map_t **m)
{
if (m) {
- return jk_map_open(*m = (jk_map_t *)malloc(sizeof(jk_map_t)));
+ *m = (jk_map_t *)calloc(1, sizeof(jk_map_t));
+ if (*m)
+ return jk_map_open(*m);
}
return JK_FALSE;
@@ -110,6 +100,7 @@ int jk_map_open(jk_map_t *m)
if (m) {
jk_open_pool(&m->p, m->buf, sizeof(jk_pool_atom_t) * SMALL_POOL_SIZE);
+ m->id = ++global_map_id;
m->capacity = 0;
m->size = 0;
m->keys = NULL;
@@ -587,7 +578,7 @@ void jk_map_dump(jk_map_t *m, jk_logger_
}
if (JK_IS_DEBUG_LEVEL(l)) {
jk_log(l, JK_LOG_DEBUG,
- "Dump of map: '%s' -> '%s'",
+ "Dump of map %d: '%s' -> '%s'", m->id,
jk_map_name_at(m, i) ? jk_map_name_at(m, i) : "(null)",
jk_map_value_at(m, i) ? jk_map_value_at(m, i) : "(null)");
}
Modified: tomcat/jk/trunk/native/common/jk_map.h
URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_map.h?rev=1306287&r1=1306286&r2=1306287&view=diff
==============================================================================
--- tomcat/jk/trunk/native/common/jk_map.h (original)
+++ tomcat/jk/trunk/native/common/jk_map.h Wed Mar 28 12:16:52 2012
@@ -24,6 +24,7 @@
#ifndef JK_MAP_H
#define JK_MAP_H
+#include "jk_pool.h"
#ifdef __cplusplus
extern "C"
@@ -34,7 +35,20 @@ extern "C"
#define JK_MAP_HANDLE_DUPLICATES 1
#define JK_MAP_HANDLE_RAW 2
-struct jk_map;
+struct jk_map
+{
+ jk_pool_t p;
+ jk_pool_atom_t buf[SMALL_POOL_SIZE];
+
+ const char **names;
+ const void **values;
+ unsigned int *keys;
+
+ unsigned int capacity;
+ unsigned int size;
+ int id;
+};
+
typedef struct jk_map jk_map_t;
int jk_map_alloc(jk_map_t **m);
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org