Skip to content
Extraits de code Groupes Projets
Valider b4474286 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

r17234 a introduit un include_spip() au debut de base/connect_sql.php, ce qui...

r17234 a introduit un include_spip() au debut de base/connect_sql.php, ce qui etait une erreur car ce fichier est inclus par inc_version avant toute initialisation du core et chargement des caches.
Du coup chaque hit provoquait une invalidation du chemin car find_in_path appele trop tot croyait que son find etait nouveau, donc le hit se finissait par une ecriture du fichier tmp/cache/chemin.txt.
Comme ce fichier peut etre assez gros (>100ko) et ecrit en posant un verrou, cela impactait la performance par un debit d'ecriture sur le disque et des possibles attentes entre hit concourants.
Bug repere par nicod en 3.0 et confirme par RealET en 3.1
parent 53d10936
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -16,7 +16,7 @@
* @package SPIP\Core\SQL
**/
if (!defined('_ECRIRE_INC_VERSION')) return;
include_spip('base/objets');
require_once _ROOT_RESTREINT . 'base/objets.php';
......
......@@ -1255,8 +1255,11 @@ function find_in_path ($file, $dirname='', $include=false) {
include_once _ROOT_CWD . $a;
$inc[$dirname][$file] = $inc[''][$dirname . $file] = true;
}
if (!defined('_SAUVER_CHEMIN'))
define('_SAUVER_CHEMIN',true);
if (!defined('_SAUVER_CHEMIN')){
// si le chemin n'a pas encore ete charge, ne pas lever le flag, ne pas cacher
if (is_null($GLOBALS['path_files'])) return $a;
define('_SAUVER_CHEMIN', true);
}
return $GLOBALS['path_files'][$GLOBALS['path_sig']][$dirname][$file] = $GLOBALS['path_files'][$GLOBALS['path_sig']][''][$dirname . $file] = $a;
}
}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter