Skip to content

Instantly share code, notes, and snippets.

@squeek502
Last active July 4, 2019 23:59
Show Gist options
  • Save squeek502/ba94acddefddff8a27b3d5ac7a4531b2 to your computer and use it in GitHub Desktop.
Save squeek502/ba94acddefddff8a27b3d5ac7a4531b2 to your computer and use it in GitHub Desktop.
const std = @import("std");
const os = std.os;
const page_size = std.mem.page_size;
pub fn main() !void {
const len = 32;
const perms = os.PROT_READ | os.PROT_WRITE;
const flags = os.MAP_PRIVATE | os.MAP_ANONYMOUS;
const ptr = try os.mmap(null, len, perms, flags, -1, 0);
std.debug.warn("{*}\n", ptr.ptr);
os.munmap(ptr);
const ptr2 = try os.mmap(null, len, perms, flags, -1, 0);
std.debug.warn("{*}\n", ptr2.ptr);
os.munmap(ptr2);
const hint = ptr2.ptr + page_size;
const ptr3 = try os.mmap(hint, len, perms, flags, -1, 0);
std.debug.warn("{*}\n", ptr3.ptr);
os.munmap(ptr3);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment