Unmap the pages as we read them.
authorMatt Mullins <mmullins@mmlx.us>
Sat, 21 Sep 2013 17:49:27 +0000 (17:49 +0000)
committerMatt Mullins <mmullins@mmlx.us>
Sat, 21 Sep 2013 17:49:27 +0000 (17:49 +0000)
mmap_everything.c

index ae1d529..d2db52d 100644 (file)
@@ -45,8 +45,9 @@ int main() {
        }
 
        srand48(time(NULL));
-       int *pi;
+       int data;
        do {
+               int *pi;
                uint32_t lower = lrand48();
                uint32_t upper = lrand48();
 
@@ -56,6 +57,12 @@ int main() {
 
                pi = (void*)(pvalue);
                printf("*%p = ", (void*)pi);
-               printf("%x\n", *pi);
-       } while (*pi == 0);
+               fflush(stdout);
+               data = *pi;
+               printf("%x\n", data);
+
+               if (munmap((void*)(pvalue & ~0xFFFL), 4096)) {
+                       perror("munmap");
+               }
+       } while (data == 0);
 }