- 28 9月, 2011 1 次提交
-
-
由 Rich Felker 提交于
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.
-
- 29 6月, 2011 1 次提交
-
-
由 Rich Felker 提交于
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.
-
- 21 4月, 2011 2 次提交
-
-
由 Rich Felker 提交于
-
由 Rich Felker 提交于
the check against MADV_DONTNEED to because linux MADV_DONTNEED semantics conflict dangerously with the POSIX semantics
-
- 07 4月, 2011 1 次提交
-
-
由 Rich Felker 提交于
-
- 20 3月, 2011 1 次提交
-
-
由 Rich Felker 提交于
-
- 03 3月, 2011 1 次提交
-
-
由 Rich Felker 提交于
-
- 14 2月, 2011 1 次提交
-
-
由 Rich Felker 提交于
- 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
-
- 12 2月, 2011 1 次提交
-
-
由 Rich Felker 提交于
-