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

Faire le clearstatcache dans Cron, plutot que inc_cron pour que ça profite à...

Faire le clearstatcache dans Cron, plutot que inc_cron pour que ça profite à cron.lock. Simplifier spip_touch et redresser son commentaire.
parent 660dad4e
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -59,7 +59,6 @@ function inc_cron_dist($taches = array()) { ...@@ -59,7 +59,6 @@ function inc_cron_dist($taches = array()) {
// Quelle est la tache la plus urgente ? // Quelle est la tache la plus urgente ?
$tache = ''; $tache = '';
$tmin = $t = time(); $tmin = $t = time();
clearstatcache();
foreach ($taches as $nom => $periode) { foreach ($taches as $nom => $periode) {
$celock = _DIR_TMP . $nom . '.lock'; $celock = _DIR_TMP . $nom . '.lock';
$date_lock = @filemtime($celock); $date_lock = @filemtime($celock);
......
...@@ -558,22 +558,20 @@ function spip_timer($t='rien') { ...@@ -558,22 +558,20 @@ function spip_timer($t='rien') {
} }
// spip_touch : verifie si un fichier existe et n'est pas vieux (duree en s) // Renvoie False si un fichier n'est pas plus vieux que $duree secondes,
// et le cas echeant le touch() ; renvoie true si la condition est verifiee // sinon renvoie True et le date sauf si ca n'est pas souhaite
// et fait touch() sauf si ca n'est pas souhaite
// (regle aussi le probleme des droits sur les fichiers touch())
// http://doc.spip.org/@spip_touch // http://doc.spip.org/@spip_touch
function spip_touch($fichier, $duree=0, $touch=true) { function spip_touch($fichier, $duree=0, $touch=true) {
if (!($exists = @is_readable($fichier)) if ($duree) {
|| ($duree == 0) clearstatcache();
|| (@filemtime($fichier) < time() - $duree)) { if ((@$f=filemtime($fichier)) AND ($f >= time() - $duree))
if ($touch) { return false;
if (!@touch($fichier)) { spip_unlink($fichier); @touch($fichier); };
if (!$exists) @chmod($fichier, _SPIP_CHMOD & ~0111);
}
return true;
} }
return false; if ($touch) {
if (!@touch($fichier)) { spip_unlink($fichier); @touch($fichier); };
@chmod($fichier, _SPIP_CHMOD & ~0111);
}
return true;
} }
// Ce declencheur de tache de fond, de l'espace prive (cf inc_presentation) // Ce declencheur de tache de fond, de l'espace prive (cf inc_presentation)
......
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