aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/acm
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/acm')
-rw-r--r--phpBB/includes/acm/acm_eaccelerator.php1
-rw-r--r--phpBB/includes/acm/acm_memcache.php6
-rw-r--r--phpBB/includes/acm/acm_memory.php5
3 files changed, 11 insertions, 1 deletions
diff --git a/phpBB/includes/acm/acm_eaccelerator.php b/phpBB/includes/acm/acm_eaccelerator.php
index 1a3cf3c0f7..645067c199 100644
--- a/phpBB/includes/acm/acm_eaccelerator.php
+++ b/phpBB/includes/acm/acm_eaccelerator.php
@@ -30,6 +30,7 @@ if (!class_exists('acm_memory'))
class acm extends acm_memory
{
var $extension = 'eaccelerator';
+ var $function = 'eaccelerator_get';
var $serialize_header = '#phpbb-serialized#';
diff --git a/phpBB/includes/acm/acm_memcache.php b/phpBB/includes/acm/acm_memcache.php
index 3077ee9615..52b8832749 100644
--- a/phpBB/includes/acm/acm_memcache.php
+++ b/phpBB/includes/acm/acm_memcache.php
@@ -105,7 +105,11 @@ class acm extends acm_memory
*/
function _write($var, $data, $ttl = 2592000)
{
- return $this->memcache->set($this->key_prefix . $var, $data, $this->flags, $ttl);
+ if (!$this->memcache->replace($this->key_prefix . $var, $data, $this->flags, $ttl))
+ {
+ return $this->memcache->set($this->key_prefix . $var, $data, $this->flags, $ttl);
+ }
+ return true;
}
/**
diff --git a/phpBB/includes/acm/acm_memory.php b/phpBB/includes/acm/acm_memory.php
index 1ed4fb0d55..e315e979e5 100644
--- a/phpBB/includes/acm/acm_memory.php
+++ b/phpBB/includes/acm/acm_memory.php
@@ -47,6 +47,11 @@ class acm_memory
trigger_error("Could not find required extension [{$this->extension}] for the ACM module $acm_type.", E_USER_ERROR);
}
+
+ if (isset($this->function) && !function_exists($this->function))
+ {
+ trigger_error("The required function [{$this->function}] is not available for the ACM module $acm_type.", E_USER_ERROR);
+ }
}
/**