Index: trunk/phase3/includes/Defines.php |
— | — | @@ -103,7 +103,7 @@ |
104 | 104 | define( 'CACHE_NONE', 0 ); // Do not cache |
105 | 105 | define( 'CACHE_DB', 1 ); // Store cache objects in the DB |
106 | 106 | define( 'CACHE_MEMCACHED', 2 ); // MemCached, must specify servers in $wgMemCacheServers |
107 | | -define( 'CACHE_ACCEL', 3 ); // eAccelerator or Turck, whichever is available |
| 107 | +define( 'CACHE_ACCEL', 3 ); // eAccelerator |
108 | 108 | define( 'CACHE_DBA', 4 ); // Use PHP's DBA extension to store in a DBM-style database |
109 | 109 | /**#@-*/ |
110 | 110 | |
Index: trunk/phase3/includes/BagOStuff.php |
— | — | @@ -462,51 +462,6 @@ |
463 | 463 | class MediaWikiBagOStuff extends SqlBagOStuff { } |
464 | 464 | |
465 | 465 | /** |
466 | | - * This is a wrapper for Turck MMCache's shared memory functions. |
467 | | - * |
468 | | - * You can store objects with mmcache_put() and mmcache_get(), but Turck seems |
469 | | - * to use a weird custom serializer that randomly segfaults. So we wrap calls |
470 | | - * with serialize()/unserialize(). |
471 | | - * |
472 | | - * The thing I noticed about the Turck serialized data was that unlike ordinary |
473 | | - * serialize(), it contained the names of methods, and judging by the amount of |
474 | | - * binary data, perhaps even the bytecode of the methods themselves. It may be |
475 | | - * that Turck's serializer is faster, so a possible future extension would be |
476 | | - * to use it for arrays but not for objects. |
477 | | - * |
478 | | - * @ingroup Cache |
479 | | - */ |
480 | | -class TurckBagOStuff extends BagOStuff { |
481 | | - public function get( $key ) { |
482 | | - $val = mmcache_get( $key ); |
483 | | - if ( is_string( $val ) ) { |
484 | | - $val = unserialize( $val ); |
485 | | - } |
486 | | - return $val; |
487 | | - } |
488 | | - |
489 | | - public function set( $key, $value, $exptime = 0 ) { |
490 | | - mmcache_put( $key, serialize( $value ), $exptime ); |
491 | | - return true; |
492 | | - } |
493 | | - |
494 | | - public function delete( $key, $time = 0 ) { |
495 | | - mmcache_rm( $key ); |
496 | | - return true; |
497 | | - } |
498 | | - |
499 | | - public function lock( $key, $waitTimeout = 0 ) { |
500 | | - mmcache_lock( $key ); |
501 | | - return true; |
502 | | - } |
503 | | - |
504 | | - public function unlock( $key ) { |
505 | | - mmcache_unlock( $key ); |
506 | | - return true; |
507 | | - } |
508 | | -} |
509 | | - |
510 | | -/** |
511 | 466 | * This is a wrapper for APC's shared memory functions |
512 | 467 | * |
513 | 468 | * @ingroup Cache |
— | — | @@ -544,7 +499,7 @@ |
545 | 500 | /** |
546 | 501 | * This is a wrapper for eAccelerator's shared memory functions. |
547 | 502 | * |
548 | | - * This is basically identical to the Turck MMCache version, |
| 503 | + * This is basically identical to the deceased Turck MMCache version, |
549 | 504 | * mostly because eAccelerator is based on Turck MMCache. |
550 | 505 | * |
551 | 506 | * @ingroup Cache |
Index: trunk/phase3/includes/ObjectCache.php |
— | — | @@ -66,8 +66,6 @@ |
67 | 67 | $wgCaches[CACHE_ACCEL] = new APCBagOStuff; |
68 | 68 | } elseif( function_exists( 'xcache_get' ) ) { |
69 | 69 | $wgCaches[CACHE_ACCEL] = new XCacheBagOStuff(); |
70 | | - } elseif ( function_exists( 'mmcache_get' ) ) { |
71 | | - $wgCaches[CACHE_ACCEL] = new TurckBagOStuff; |
72 | 70 | } else { |
73 | 71 | $wgCaches[CACHE_ACCEL] = false; |
74 | 72 | } |
Index: trunk/phase3/includes/AutoLoader.php |
— | — | @@ -231,7 +231,6 @@ |
232 | 232 | 'TitleArrayFromResult' => 'includes/TitleArray.php', |
233 | 233 | 'TitleListDependency' => 'includes/CacheDependency.php', |
234 | 234 | 'TransformParameterError' => 'includes/MediaTransformOutput.php', |
235 | | - 'TurckBagOStuff' => 'includes/BagOStuff.php', |
236 | 235 | 'UnlistedSpecialPage' => 'includes/SpecialPage.php', |
237 | 236 | 'UploadBase' => 'includes/upload/UploadBase.php', |
238 | 237 | 'UploadFromStash' => 'includes/upload/UploadFromStash.php', |
Index: trunk/phase3/includes/DefaultSettings.php |
— | — | @@ -1280,7 +1280,7 @@ |
1281 | 1281 | $wgUseCategoryBrowser = false; |
1282 | 1282 | |
1283 | 1283 | /** |
1284 | | - * Keep parsed pages in a cache (objectcache table, turck, or memcached) |
| 1284 | + * Keep parsed pages in a cache (objectcache table or memcached) |
1285 | 1285 | * to speed up output of the same page viewed by another user with the |
1286 | 1286 | * same options. |
1287 | 1287 | * |
Index: trunk/phase3/config/Installer.php |
— | — | @@ -503,11 +503,6 @@ |
504 | 504 | print "</li>\n"; |
505 | 505 | } |
506 | 506 | |
507 | | -$conf->turck = function_exists( 'mmcache_get' ); |
508 | | -if ( $conf->turck ) { |
509 | | - print "<li><a href=\"http://turck-mmcache.sourceforge.net/\">Turck MMCache</a> installed</li>\n"; |
510 | | -} |
511 | | - |
512 | 507 | $conf->xcache = function_exists( 'xcache_get' ); |
513 | 508 | if( $conf->xcache ) |
514 | 509 | print "<li><a href=\"http://trac.lighttpd.net/xcache/\">XCache</a> installed</li>\n"; |
— | — | @@ -519,15 +514,13 @@ |
520 | 515 | |
521 | 516 | $conf->eaccel = function_exists( 'eaccelerator_get' ); |
522 | 517 | if ( $conf->eaccel ) { |
523 | | - $conf->turck = 'eaccelerator'; |
524 | 518 | print "<li><a href=\"http://eaccelerator.sourceforge.net/\">eAccelerator</a> installed</li>\n"; |
525 | 519 | } |
526 | 520 | |
527 | 521 | $conf->dba = function_exists( 'dba_open' ); |
528 | 522 | |
529 | | -if( !( $conf->turck || $conf->eaccel || $conf->apc || $conf->xcache ) ) { |
530 | | - echo( '<li>Couldn\'t find <a href="http://turck-mmcache.sourceforge.net">Turck MMCache</a>, |
531 | | - <a href="http://eaccelerator.sourceforge.net">eAccelerator</a>, |
| 523 | +if( !( $conf->eaccel || $conf->apc || $conf->xcache ) ) { |
| 524 | + echo( '<li>Couldn\'t find <a href="http://eaccelerator.sourceforge.net">eAccelerator</a>, |
532 | 525 | <a href="http://www.php.net/apc">APC</a> or <a href="http://trac.lighttpd.net/xcache/">XCache</a>; |
533 | 526 | cannot use these for object caching.</li>' ); |
534 | 527 | } |
— | — | @@ -1459,11 +1452,6 @@ |
1460 | 1453 | <ul class="plain"> |
1461 | 1454 | <li><?php aField( $conf, "Shm", "No caching", "radio", "none" ); ?></li> |
1462 | 1455 | <?php |
1463 | | - if ( $conf->turck ) { |
1464 | | - echo "<li>"; |
1465 | | - aField( $conf, "Shm", "Turck MMCache", "radio", "turck" ); |
1466 | | - echo "</li>\n"; |
1467 | | - } |
1468 | 1456 | if( $conf->xcache ) { |
1469 | 1457 | echo "<li>"; |
1470 | 1458 | aField( $conf, 'Shm', 'XCache', 'radio', 'xcache' ); |
— | — | @@ -1493,7 +1481,7 @@ |
1494 | 1482 | An object caching system such as memcached will provide a significant performance boost, |
1495 | 1483 | but needs to be installed. Provide the server addresses and ports in a comma-separated list. |
1496 | 1484 | <br /><br /> |
1497 | | - MediaWiki can also detect and support eAccelerator, Turck MMCache, APC, and XCache, but |
| 1485 | + MediaWiki can also detect and support eAccelerator, APC, and XCache, but |
1498 | 1486 | these should not be used if the wiki will be running on multiple application servers. |
1499 | 1487 | <br /><br /> |
1500 | 1488 | DBA (Berkeley-style DB) is generally slower than using no cache at all, and is only |
— | — | @@ -1805,7 +1793,6 @@ |
1806 | 1794 | $cacheType = 'CACHE_MEMCACHED'; |
1807 | 1795 | $mcservers = var_export( $conf->MCServerArray, true ); |
1808 | 1796 | break; |
1809 | | - case 'turck': |
1810 | 1797 | case 'xcache': |
1811 | 1798 | case 'apc': |
1812 | 1799 | case 'eaccel': |
Index: trunk/phase3/RELEASE-NOTES |
— | — | @@ -326,6 +326,7 @@ |
327 | 327 | * (bug 7264) Magic word to give Page Title as if pipe-trick performed on it |
328 | 328 | {{pipetrick:}} |
329 | 329 | * (bug 20339) Allow using the pipe trick in log reasons |
| 330 | +* Support for Turck MMCache was removed |
330 | 331 | |
331 | 332 | === Bug fixes in 1.16 === |
332 | 333 | |