Merge branch 'new_fuzzer' of ssh://plrg.eecs.uci.edu:/home/git/random-fuzzer into...
[c11tester.git] / snapshot.cc
index ca54c785385bb85b0fa68ada3267c933dd9ca8f0..d73613832e867eb069b5f5288b72f95bc04c96ff 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,7 +384,11 @@ 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;
                fork_snap->currSnapShotID = snapshotid + 1;