Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Sometimes the expansion may work and the memory address should stay the same.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Fri, 9 Jun 2023 13:45:53 +0000 (15:45 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Fri, 9 Jun 2023 14:27:58 +0000 (16:27 +0200)
src/mc/sosp/PageStore.cpp

index 83061b0..e2c46f4 100644 (file)
@@ -71,7 +71,9 @@ void PageStore::resize(std::size_t size)
                       MAP_PRIVATE | MAP_ANONYMOUS | MAP_POPULATE, -1, 0);
     xbt_assert(new_memory != MAP_FAILED, "Could not mremap snapshot pages.");
     // Check if expanding worked
-    if (new_memory != (char*)this->memory_ + old_bytesize) {
+    if (new_memory == (char*)this->memory_ + old_bytesize) {
+      new_memory = this->memory_;
+    } else {
       // New memory segment could not be put at the end of this->memory_,
       // so cancel this one and try to relocate everything and copy data
       munmap(new_memory, new_bytesize - old_bytesize);