Browse Source

Complement a r22116 : deplacer les 4 lignes de code dans une fonction qui peut resservir dans un plugin si necessaire

svn/attic/tags/spip-3.1.0-beta/22130
Cerdic 6 years ago
parent
commit
a32303de88
  1. 20
      ecrire/inc/flock.php
  2. 15
      ecrire/inc/plugin.php

20
ecrire/inc/flock.php

@ -460,6 +460,26 @@ function spip_clear_opcode_cache($filepath) {
}
}
/**
* si opcache est actif et en mode validate_timestamps
* le timestamp ne sera checke qu'apres revalidate_freq s
* il faut donc attendre ce temps la pour etre sur qu'on va bien beneficier de la recompilation
* NB c'est une config foireuse deconseillee de opcode cache mais malheureusement utilisee par Octave
* cf http://stackoverflow.com/questions/25649416/when-exactly-does-php-5-5-opcache-check-file-timestamp-based-on-revalidate-freq
* et http://wiki.mikejung.biz/PHP_OPcache
*
* Ne fait rien en dehors de ce cas
*
*/
function spip_attend_invalidation_opcode_cache(){
if (function_exists('opcache_get_configuration')
AND @ini_get('opcache.enable')
AND @ini_get('opcache.validate_timestamps')
AND $duree = @ini_get('opcache.revalidate_freq') ) {
sleep($duree);
}
}
/**
* Suppression complete d'un repertoire.

15
ecrire/inc/plugin.php

@ -598,19 +598,8 @@ function ecrire_plugin_actifs($plugin,$pipe_recherche=false,$operation='raz') {
// generer le fichier _CACHE_PIPELINE
pipeline_precompile($prepend_code);
// si opcache est actif et en mode validate_timestamps
// le timestamp ne sera checke qu'apres revalidate_freq s
// il faut donc attendre ce temps la pour etre sur qu'on va bien beneficier de la recompilation
// NB c'est une config foireuse deconseillee de opcode cache mais malheureusement utilisee par Octave
// cf http://stackoverflow.com/questions/25649416/when-exactly-does-php-5-5-opcache-check-file-timestamp-based-on-revalidate-freq
// et http://wiki.mikejung.biz/PHP_OPcache
if (function_exists('opcache_get_configuration')
AND @ini_get('opcache.enable')
AND @ini_get('opcache.validate_timestamps')
AND $duree = @ini_get('opcache.revalidate_freq') ) {
sleep($duree);
}
// attendre eventuellement l'invalidation du cache opcode
spip_attend_invalidation_opcode_cache();
if (spip_connect()) {
// lancer et initialiser les nouveaux crons !

Loading…
Cancel
Save