diff --git a/ecrire/inc_index.php3 b/ecrire/inc_index.php3 index 85714fc286eeb34a97b957103d4eb6c16eb480dc..075f87f8075a3d91cf65c46f05e7f4994a4f47a5 100644 --- a/ecrire/inc_index.php3 +++ b/ecrire/inc_index.php3 @@ -81,6 +81,7 @@ function indexer_objet($type, $id_objet, $forcer_reset = true, $full = true) { if (!$id_objet OR (!$forcer_reset AND deja_indexe($type, $id_objet))) return; + spip_log("indexation $type $id_objet"); $index = ''; $mots = "INSERT IGNORE INTO spip_index_dico (hash, dico) VALUES (0,'')"; diff --git a/inc-public-global.php3 b/inc-public-global.php3 index af53f5592837cdb103d9c31f109b9d96b0d834ea..0ab3339447e372762eff9a3c9d8ae078d05d7af8 100644 --- a/inc-public-global.php3 +++ b/inc-public-global.php3 @@ -328,15 +328,16 @@ if (lire_meta('activer_moteur') == 'oui') { include_ecrire("inc_texte.php3"); include_ecrire("inc_filtres.php3"); include_ecrire("inc_index.php3"); - $suite = file($fichier_index); - $s = $suite[0]; - $f = fopen($fichier_index, 'w'); + if ($s = sizeof($suite = file($fichier_index))) + $s = $suite[rand(0,$s)]; + $pid = @getmypid(); + $f = fopen($fichier_index.".tmp-$pid", 'w'); while (list(,$ligne) = each($suite)) if ($ligne <> $s) fwrite($f, $ligne); fclose($f); + @rename($fichier_index.".tmp-$pid",$fichier_index); $s = explode(' ', trim($s)); - spip_log("indexation $s[0] $s[1]"); indexer_objet($s[0], $s[1], false); $timeout = true; }