original_string: private function handleMovedMemory()
      {
          // Read from the memory block and handle moved blocks until we find the
          // correct block.
          while (true) {
              $header = $this->getHeader();
  
              // If the state is STATE_MOVED, the memory is stale and has been moved
              // to a new location. Move handle and try to read again.
              if ($header['state'] !== self::STATE_MOVED) {
                  break;
              }
  
              shmop_close($this->handle);
              $this->key = $header['size'];
              $this->memOpen($this->key, 'w', 0, 0);
          }
      }
code: private function handleMovedMemory()
      {
          // Read from the memory block and handle moved blocks until we find the
          // correct block.
          while (true) {
              $header = $this->getHeader();
  
              // If the state is STATE_MOVED, the memory is stale and has been moved
              // to a new location. Move handle and try to read again.
              if ($header['state'] !== self::STATE_MOVED) {
                  break;
              }
  
              shmop_close($this->handle);
              $this->key = $header['size'];
              $this->memOpen($this->key, 'w', 0, 0);
          }
      }
code_tokens: private function handleMovedMemory ( ) { // Read from the memory block and handle moved blocks until we find the // correct block. while ( true ) { $ header = $ this -> getHeader ( ) ; // If the state is STATE_MOVED, the memory is stale and has been moved // to a new location. Move handle and try to read again. if ( $ header [ 'state' ] !== self :: STATE_MOVED ) { break ; } shmop_close ( $ this -> handle ) ; $ this -> key = $ header [ 'size' ] ; $ this -> memOpen ( $ this -> key , 'w' , 0 , 0 ) ; } }
docstring: Updates the current memory segment handle, handling any moves made on the
  data.
docstring_tokens: Updates the current memory segment handle handling any moves made on the data .