X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fsession%2FSessionBackend.php;h=263cb11f54212f088634c8c725cc1927a198d8ac;hb=c07567928973c22f1b85969f5ba20285e59b877d;hp=264e1ae0efd2853eb1112c6db05b3f6ab59cde3c;hpb=6a8de1f1aa0bcdbf9385a4f9a01a4ef3bb70be57;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/session/SessionBackend.php b/includes/session/SessionBackend.php index 264e1ae0ef..263cb11f54 100644 --- a/includes/session/SessionBackend.php +++ b/includes/session/SessionBackend.php @@ -599,7 +599,8 @@ final class SessionBackend { } /** - * Save and persist session data, unless delayed + * Save the session, unless delayed + * @see SessionBackend::save() */ private function autosave() { if ( $this->delaySave <= 0 ) { @@ -608,7 +609,12 @@ final class SessionBackend { } /** - * Save and persist session data + * Save the session + * + * Update both the backend data and the associated WebRequest(s) to + * reflect the state of the the SessionBackend. This might include + * persisting or unpersisting the session. + * * @param bool $closing Whether the session is being closed */ public function save( $closing = false ) { @@ -716,6 +722,8 @@ final class SessionBackend { } } + $flags = $this->persist ? 0 : CachedBagOStuff::WRITE_CACHE_ONLY; + $flags |= CachedBagOStuff::WRITE_SYNC; // write to all datacenters $this->store->set( wfMemcKey( 'MWSession', (string)$this->id ), [ @@ -723,7 +731,7 @@ final class SessionBackend { 'metadata' => $metadata, ], $metadata['expires'], - $this->persist ? 0 : CachedBagOStuff::WRITE_CACHE_ONLY + $flags ); $this->metaDirty = false;