diff options
author | Aleksander Machniak <alec@alec.pl> | 2012-08-09 14:54:49 +0200 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2012-08-09 14:59:10 +0200 |
commit | d098e205a0d97c70c3c40e54d50895ee4fc2a213 (patch) | |
tree | 18032fba907ba50711ed1fa02d4c15ab492d86d5 /program | |
parent | 2c89ca7298ea693facc0f72c32c71f2bdcaff329 (diff) |
- Fix (workaround) delete operations with some versions of memcache (#1488592)
Conflicts:
CHANGELOG
program/include/rcube_session.php
Diffstat (limited to 'program')
-rw-r--r-- | program/include/rcube_cache.php | 9 | ||||
-rw-r--r-- | program/include/rcube_session.php | 3 |
2 files changed, 8 insertions, 4 deletions
diff --git a/program/include/rcube_cache.php b/program/include/rcube_cache.php index 018d5f57f..550a148ca 100644 --- a/program/include/rcube_cache.php +++ b/program/include/rcube_cache.php @@ -461,10 +461,13 @@ class rcube_cache */ private function delete_record($key, $index=true) { - if ($this->type == 'memcache') - $this->db->delete($this->ckey($key)); - else + if ($this->type == 'memcache') { + // #1488592: use 2nd argument + $this->db->delete($this->ckey($key), 0); + } + else { apc_delete($this->ckey($key)); + } if ($index) { if (($idx = array_search($key, $this->index)) !== false) { diff --git a/program/include/rcube_session.php b/program/include/rcube_session.php index bd0ce60e4..3e3becb64 100644 --- a/program/include/rcube_session.php +++ b/program/include/rcube_session.php @@ -319,7 +319,8 @@ class rcube_session */ public function mc_destroy($key) { - $ret = $this->memcache->delete($key); + // #1488592: use 2nd argument + $ret = $this->memcache->delete($key, 0); if ($this->mc_debug) write_log('memcache', "delete($key): " . ($ret ? 'OK' : 'ERR')); return $ret; } |