[BUGFIX] Remove unnecessary and failing code 21/38821/4
authorHelmut Hummel <helmut.hummel@typo3.org>
Mon, 20 Apr 2015 08:09:00 +0000 (10:09 +0200)
committerHelmut Hummel <helmut.hummel@typo3.org>
Mon, 20 Apr 2015 12:18:54 +0000 (14:18 +0200)
While fixing #57199 a slot was introduced to write the class cache
after each extension installation. This not only adds unnecessary overhead
as the class loader already holds the class loading information of activated
packages in runtime cache, it currently causes fatal errors in certain
situations, as the class cache is also removed after each
extension installation *and* runtime information is flushed in the slot.

Removing the slot increases stability and performance
for extension installation process.

Resolves: #66487
Releases: 6.2, master
Change-Id: Ie33a73af7abb8aa50cd30cbfa30bfb43031f0cea
Reviewed-on: http://review.typo3.org/38821
Reviewed-by: Nicole Cordes <typo3@cordes.co>
Tested-by: Nicole Cordes <typo3@cordes.co>
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Reviewed-by: Helmut Hummel <helmut.hummel@typo3.org>
Tested-by: Helmut Hummel <helmut.hummel@typo3.org>
typo3/sysext/core/Classes/Package/PackageManager.php
typo3/sysext/extensionmanager/ext_localconf.php

index 1c681b6..7e84346 100644 (file)
@@ -151,19 +151,6 @@ class PackageManager extends \TYPO3\Flow\Package\PackageManager implements \TYPO
        }
 
        /**
-        * Updates the class loader with currently active packages.
-        * This method is currently a slot that monitors the after
-        * extension is installed signal to make the class loader
-        * populate its caches again.
-        * Maybe we find a better solution in the future, but as of now
-        * we have to do this as all caches are flushed after an extension
-        * is installed and the current request might fail otherwise.
-        */
-       public function updatePackagesForClassLoader() {
-               $this->classLoader->setPackages($this->activePackages);
-       }
-
-       /**
         * @return PackageFactory
         */
        protected function getPackageFactory() {
index 9391525..cc53261 100644 (file)
@@ -20,12 +20,6 @@ if (TYPO3_MODE === 'BE') {
                        'scanAvailablePackages'
                );
                $signalSlotDispatcher->connect(
-                       \TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::class,
-                       'hasInstalledExtensions',
-                       \TYPO3\CMS\Core\Package\PackageManager::class,
-                       'updatePackagesForClassLoader'
-               );
-               $signalSlotDispatcher->connect(
                        \TYPO3\CMS\Extensionmanager\Utility\InstallUtility::class,
                        'tablesDefinitionIsBeingBuilt',
                        \TYPO3\CMS\Core\Cache\Cache::class,