musl/src/mman
Rich Felker 6016457011 process-shared barrier support, based on discussion with bdonlan
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-09-27 13:50:29 -04:00
..
madvise.c global cleanup to use the new syscall interface 2011-03-20 00:16:43 -04:00
mlock.c global cleanup to use the new syscall interface 2011-03-20 00:16:43 -04:00
mlockall.c global cleanup to use the new syscall interface 2011-03-20 00:16:43 -04:00
mmap.c process-shared barrier support, based on discussion with bdonlan 2011-09-27 13:50:29 -04:00
mprotect.c work around linux bug in mprotect 2011-06-29 00:42:42 -04:00
mremap.c global cleanup to use the new syscall interface 2011-03-20 00:16:43 -04:00
msync.c global cleanup to use the new syscall interface 2011-03-20 00:16:43 -04:00
munlock.c global cleanup to use the new syscall interface 2011-03-20 00:16:43 -04:00
munlockall.c global cleanup to use the new syscall interface 2011-03-20 00:16:43 -04:00
munmap.c process-shared barrier support, based on discussion with bdonlan 2011-09-27 13:50:29 -04:00
posix_madvise.c fix missing include in posix_madvise.c (compile error) 2011-04-20 15:36:15 -04:00
shm_open.c implement POSIX shared memory 2011-03-03 00:30:31 -05:00
shm_unlink.c implement POSIX shared memory 2011-03-03 00:30:31 -05:00