blob: 1d52cc733fe3ce8716cb77aca56a06b045f56150 [file] [log] [blame]
#include "util.h"
#include <assert.h>
#include <fcntl.h>
#include <string.h>
#include <sys/mman.h>
#include <sys/stat.h>
int main(void) {
size_t page_size = sysconf(_SC_PAGE_SIZE);
int fd = open("/dev/zero", O_RDWR);
void* p1 = mmap(0, page_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
assert(p1 != MAP_FAILED);
void* p2 = mmap(0, page_size, PROT_READ, MAP_SHARED, fd, 0);
assert(p2 != MAP_FAILED);
assert(p1 != p2);
memset(p1, 0xdd, page_size);
// Verify that these mappings are not connected.
assert(*(long*)p2 == 0);
atomic_printf("EXIT-SUCCESS");
return 0;
}