update Makefile
[c11tester.git] / snapshot.cc
index ca54c785385bb85b0fa68ada3267c933dd9ca8f0..ce2b28fe3dc4cb0952ed9b11c8c79b923b71b021 100644 (file)
@@ -12,6 +12,7 @@
 #include "mymemory.h"
 #include "common.h"
 #include "context.h"
+#include "model.h"
 
 /** PageAlignedAdressUpdate return a page aligned address for the
  * address being added as a side effect the numBytes are also changed.
@@ -248,7 +249,7 @@ static void mprot_roll_back(snapshot_id theID)
 
 #else  /* !USE_MPROTECT_SNAPSHOT */
 
-#define SHARED_MEMORY_DEFAULT  (100 * ((size_t)1 << 20))       // 100mb for the shared memory
+#define SHARED_MEMORY_DEFAULT  (200 * ((size_t)1 << 20))       // 100mb for the shared memory
 #define STACK_SIZE_DEFAULT      (((size_t)1 << 20) * 20)       // 20 mb out of the above 100 mb for my stack
 
 struct fork_snapshotter {
@@ -383,6 +384,10 @@ static void fork_snapshot_init(unsigned int numbackingpages,
 
        /* switch back here when takesnapshot is called */
        snapshotid = fork_snap->currSnapShotID;
+       if (model->params.nofork) {
+               setcontext(&fork_snap->shared_ctxt);
+               exit(EXIT_SUCCESS);
+       }
 
        while (true) {
                pid_t forkedID;