blob: 16c1c6476b3a488e6898359f828b2587fbf24338 [file] [log] [blame]
#include <stdio.h>
#include <sys/mman.h>
#include <assert.h>
int main(int argc, char* argv[]) {
for (int i = 0; i < 10; i++) {
int* map = (int*)mmap(0, 5000, PROT_READ | PROT_WRITE,
MAP_SHARED | MAP_ANON, -1, 0);
/* TODO: Should we align to 4k?
assert(((int)map) % 4096 == 0); // aligned
*/
assert(munmap(map, 5000) == 0);
}
const int NUM_BYTES = 8 * 1024 * 1024;
const int NUM_INTS = NUM_BYTES / sizeof(int);
int* map = (int*)mmap(0, NUM_BYTES, PROT_READ | PROT_WRITE,
MAP_SHARED | MAP_ANON, -1, 0);
assert(map != MAP_FAILED);
int i;
for (i = 0; i < NUM_INTS; i++) {
map[i] = i;
}
for (i = 0; i < NUM_INTS; i++) {
assert(map[i] == i);
}
assert(munmap(map, NUM_BYTES) == 0);
printf("hello,world");
return 0;
}