diff --ignore-all-space -ru typo3_src_trunk_orig/t3lib/cache/backend/class.t3lib_cache_backend_apcbackend.php typo3_src_trunk/t3lib/cache/backend/class.t3lib_cache_backend_apcbackend.php --- typo3_src_trunk_orig/t3lib/cache/backend/class.t3lib_cache_backend_apcbackend.php 2009-10-21 13:50:29.000000000 +0400 +++ typo3_src_trunk/t3lib/cache/backend/class.t3lib_cache_backend_apcbackend.php 2009-10-21 14:12:41.000000000 +0400 @@ -81,9 +81,6 @@ /** * Saves data in the cache. * - * Note on lifetime: the number of seconds may not exceed 2592000 (30 days), - * otherwise it is interpreted as a UNIX timestamp (seconds since epoch). - * * @param string $entryIdentifier An identifier for this specific cache entry * @param string $data The data to be stored * @param array $tags Tags to associate with this cache entry diff --ignore-all-space -ru typo3_src_trunk_orig/t3lib/cache/backend/class.t3lib_cache_backend_memcachedbackend.php typo3_src_trunk/t3lib/cache/backend/class.t3lib_cache_backend_memcachedbackend.php --- typo3_src_trunk_orig/t3lib/cache/backend/class.t3lib_cache_backend_memcachedbackend.php 2009-10-21 13:50:29.000000000 +0400 +++ typo3_src_trunk/t3lib/cache/backend/class.t3lib_cache_backend_memcachedbackend.php 2009-10-21 14:12:44.000000000 +0400 @@ -224,6 +224,12 @@ $tags[] = '%MEMCACHEBE%' . $this->cache->getIdentifier(); $expiration = $lifetime !== NULL ? $lifetime : $this->defaultLifetime; + // Memcached consideres values over 2592000 sec (30 days) as UNIX timestamp + // thus $expiration should be converted from lifetime to UNIX timestamp + if ($expiration > 2592000) { + $expiration += $GLOBALS['EXEC_TIME']; + } + try { if(strlen($data) > self::MAX_BUCKET_SIZE) { $data = str_split($data, 1024 * 1000);