Index: trunk/mod_cacher/xc_cacher.c
===================================================================
--- trunk/mod_cacher/xc_cacher.c	(revision 1129)
+++ trunk/mod_cacher/xc_cacher.c	(revision 1132)
@@ -94,4 +94,17 @@
 };
 /* }}} */
+typedef struct { /* {{{ xc_cache_t: only cache info, not in shm */
+	int cacheid;
+	xc_hash_t  *hcache; /* hash to cacheid */
+
+	struct _xc_lock_t  *lck;
+	struct _xc_shm_t   *shm; /* which shm contains us */
+	struct _xc_mem_t   *mem; /* which mem contains us */
+
+	xc_hash_t  *hentry; /* hash settings to entry */
+	xc_hash_t  *hphp;   /* hash settings to php */
+	xc_cached_t *cached;
+} xc_cache_t;
+/* }}} */
 
 /* {{{ globals */
@@ -150,5 +163,5 @@
 	php->hits     = 0;
 	php->refcount = 0;
-	stored_php = xc_processor_store_xc_entry_data_php_t(cache, php TSRMLS_CC);
+	stored_php = xc_processor_store_xc_entry_data_php_t(cache->shm, cache->mem, php TSRMLS_CC);
 	if (stored_php) {
 		xc_php_add_unlocked(cache->cached, stored_php);
@@ -297,6 +310,6 @@
 	entry->atime = XG(request_time);
 	stored_entry = type == XC_TYPE_PHP
-		? (xc_entry_t *) xc_processor_store_xc_entry_php_t(cache, (xc_entry_php_t *) entry TSRMLS_CC)
-		: (xc_entry_t *) xc_processor_store_xc_entry_var_t(cache, (xc_entry_var_t *) entry TSRMLS_CC);
+		? (xc_entry_t *) xc_processor_store_xc_entry_php_t(cache->shm, cache->mem, (xc_entry_php_t *) entry TSRMLS_CC)
+		: (xc_entry_t *) xc_processor_store_xc_entry_var_t(cache->shm, cache->mem, (xc_entry_var_t *) entry TSRMLS_CC);
 	if (stored_entry) {
 		xc_entry_add_unlocked(cache->cached, entryslotid, stored_entry);
@@ -3285,5 +3298,4 @@
 static PHP_MINIT_FUNCTION(xcache_cacher) /* {{{ */
 {
-	char *env;
 	zend_extension *ext;
 	zend_llist_position lpos;
