Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Sometimes the expansion may work and the memory address should stay the same.
[simgrid.git] / src / mc / sosp / PageStore.cpp
index 8172352..e2c46f4 100644 (file)
@@ -12,7 +12,7 @@
 #include "xbt/log.h"
 #include "xbt/sysdep.h"
 
-#include "src/include/xxhash.hpp"
+#include "src/3rd-party/xxhash.hpp"
 #include "src/mc/mc_mmu.hpp"
 #include "src/mc/sosp/PageStore.hpp"
 
@@ -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);