K 10 svn:author V 7 dchagin K 8 svn:date V 27 2009-05-05T14:53:58.144255Z K 7 svn:log V 720 Merge from HEAD to stable/7: r178976 (rdivacky): Implement robust futexes. Most of the code is modelled after what Linux does. This is because robust futexes are mostly userspace thing which we cannot alter. Two syscalls maintain pointer to userspace list and when process exits a routine walks this list waking up processes sleeping on futexes from that list. r183871: Make robust futexes work on linux32/amd64. Use PTRIN to read user-mode pointers. Change types used in the structures definitions to properly-sized architecture-specific types. r185002: In the robust futexes list head, futex_offset shall be signed, and glibc actually supplies negative offsets. Change l_ulong to l_long. Approved by: kib (mentor) END