X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=snapshot.cc;h=3c5e515103e6b6f4699e7ccf6cf67a69c2f27a49;hb=f7e343245eacef390a0d52ba4f7dac361eb11a51;hp=4d71babeb967f9b8daba74542b6fa8044f120380;hpb=7962faac2edf30977bf5c837e0452c2accb23789;p=model-checker.git diff --git a/snapshot.cc b/snapshot.cc index 4d71bab..3c5e515 100644 --- a/snapshot.cc +++ b/snapshot.cc @@ -115,6 +115,7 @@ extern "C" { sTheRecord->mStackSize = STACK_SIZE_DEFAULT; sTheRecord->mIDToRollback = -1; sTheRecord->currSnapShotID = 0; + sTheRecord->mbFinalize = false; #endif } #ifdef __cplusplus @@ -156,19 +157,10 @@ void initSnapShotLibrary(unsigned int numbackingpages, addMemoryRegionToSnapShot(pagealignedbase, numheappages); entryPoint(); #else - //SUBRAMANIAN: WHY IS THIS SIGNAL HANDLER HERE FOR THE FORK BASED APPROACH???? - //IT LOOKS LIKE SOME CODE WAS REMOVED FROM SIGNAL HANDLER... - //IN ANY CASE, DO NOT REUSE THE HANDLEPF CALL!!!! - //add a signal to indicate that the process is going to terminate. - struct sigaction sa; - sa.sa_flags = SA_SIGINFO | SA_NODEFER | SA_RESTART; - sigemptyset( &sa.sa_mask ); - sa.sa_sigaction = HandlePF; - if( sigaction( SIGUSR1, &sa, NULL ) == -1 ){ - printf("SIGACTION CANNOT BE INSTALLED\n"); - exit(-1); - } + basemySpace=system_malloc((numheappages+1)*PAGESIZE); + void * pagealignedbase=PageAlignAddressUpward(basemySpace); + mySpace = create_mspace_with_base(pagealignedbase, numheappages*PAGESIZE, 1 ); createSharedLibrary(); //step 2 setup the stack context.