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

report de r20033 : #2914 : attention a ne pas confondre un fichier temporaire...

report de r20033 : #2914 : attention a ne pas confondre un fichier temporaire (d'ecriture atomique d'une session par un processus concourant) avec un vrai fichier de session
Attention aussi : entre le preg et le moment ou l'on traite une session, celle-ci peut avoir disparue, ne pas la recréer (concurence)
parent 30678e9e
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -293,12 +293,18 @@ function actualiser_sessions($auteur) {
$sauve = $GLOBALS['visiteur_session'];
// .. mettre a jour les sessions de l'auteur cible
foreach(preg_files(_DIR_SESSIONS, '/'.$id_auteur.'_.*\.php') as $session) {
// attention au $ final pour ne pas risquer d'embarquer un .php.jeton temporaire
// cree par une ecriture concurente d'une session (fichier atomique temporaire)
$sessions = preg_files(_DIR_SESSIONS, '/'.$id_auteur.'_.*\.php$');
foreach($sessions as $session) {
$GLOBALS['visiteur_session'] = array();
include $session; # $GLOBALS['visiteur_session'] est alors l'auteur cible
// a pu etre supprime entre le preg initial et le moment ou l'on arrive la (concurrence)
if (@file_exists($session)){
include $session; # $GLOBALS['visiteur_session'] est alors l'auteur cible
$auteur = array_merge($GLOBALS['visiteur_session'], $auteur);
ecrire_fichier_session($session, $auteur);
$auteur = array_merge($GLOBALS['visiteur_session'], $auteur);
ecrire_fichier_session($session, $auteur);
}
}
// restaurer l'auteur courant
......
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