add support for docs
[cdsspec-compiler.git] / snapshot.cc
index e3ca558878d2a811bb1f639e6234e2c475023326..ac4f712350aac33ab8f981b869d68a9500b4a76d 100644 (file)
@@ -68,6 +68,7 @@ void HandlePF( int sig, siginfo_t *si, void * unused){
                exit( EXIT_FAILURE );
        }
        void* addr = ReturnPageAlignedAddress(si->si_addr);
+
        unsigned int backingpage=snapshotrecord->lastBackingPage++; //Could run out of pages...
        if (backingpage==snapshotrecord->maxBackingPages) {
                printf("Out of backing pages at %p\n", si->si_addr);
@@ -154,6 +155,7 @@ void initSnapShotLibrary(unsigned int numbackingpages,
        // Solution is to call our signal handler before we start protecting stuff...
 
        siginfo_t si;
+       memset(&si, 0, sizeof(si));
        si.si_addr=ss.ss_sp;
        HandlePF(SIGSEGV, &si, NULL);
        snapshotrecord->lastBackingPage--; //remove the fake page we copied