1. 28 9月, 2011 1 次提交
    • R
      process-shared barrier support, based on discussion with bdonlan · 60164570
      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.
      60164570
  2. 29 6月, 2011 1 次提交
    • R
      work around linux bug in mprotect · af3d5405
      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.
      af3d5405
  3. 21 4月, 2011 2 次提交
  4. 07 4月, 2011 1 次提交
  5. 20 3月, 2011 1 次提交
  6. 03 3月, 2011 1 次提交
  7. 14 2月, 2011 1 次提交
    • R
      cleaning up syscalls in preparation for x86_64 port · 2cdfb7ca
      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
      2cdfb7ca
  8. 12 2月, 2011 1 次提交