summaryrefslogtreecommitdiff
path: root/src/mman
AgeCommit message (Collapse)AuthorFilesLines
2011-09-27process-shared barrier support, based on discussion with bdonlanRich Felker2-3/+21
this implementation is rather heavy-weight, but it's the first solution i've found that's actually correct. all waiters actually wait twice at the barrier so that they can synchronize exit, and they hold a "vm lock" that prevents changes to virtual memory mappings (and blocks pthread_barrier_destroy) until all waiters are finished inspecting the barrier. thus, it is safe for any thread to destroy and/or unmap the barrier's memory as soon as pthread_barrier_wait returns, without further synchronization.
2011-06-29work around linux bug in mprotectRich Felker1-1/+5
per POSIX: The mprotect() function shall change the access protections to be that specified by prot for those whole pages containing any part of the address space of the process starting at address addr and continuing for len bytes. on the other hand, linux mprotect fails with EINVAL if the base address and/or length is not page-aligned, so we have to align them before making the syscall.
2011-04-20fix missing include in posix_madvise.c (compile error)Rich Felker1-0/+1
2011-04-20support posix_madvise (previous a stub)Rich Felker1-1/+3
the check against MADV_DONTNEED to because linux MADV_DONTNEED semantics conflict dangerously with the POSIX semantics
2011-04-06consistency: change all remaining syscalls to use SYS_ rather than __NR_ prefixRich Felker1-1/+1
2011-03-20global cleanup to use the new syscall interfaceRich Felker10-11/+11
2011-03-03implement POSIX shared memoryRich Felker2-0/+42
2011-02-13cleaning up syscalls in preparation for x86_64 portRich Felker1-0/+4
- hide all the legacy xxxxxx32 name cruft in syscall.h so the actual source files can be clean and uniform across all archs. - cleanup llseek/lseek and mmap2/mmap handling for 32/64 bit systems - alternate implementation for nice if the target lacks nice syscall
2011-02-12initial check-in, version 0.5.0v0.5.0Rich Felker11-0/+107