diff options
author | rdivacky <rdivacky@FreeBSD.org> | 2008-05-13 20:01:27 +0000 |
---|---|---|
committer | rdivacky <rdivacky@FreeBSD.org> | 2008-05-13 20:01:27 +0000 |
commit | 13cbd9c97efdd801d6a355ae093c858dbcae9ea4 (patch) | |
tree | f230e0408b5364ef56a7bda21630cb827fe45bc8 /sys/i386/linux/syscalls.master | |
parent | 8f4fa78ec6a09ea5742e967e8b84878ce0f685f3 (diff) | |
download | FreeBSD-src-13cbd9c97efdd801d6a355ae093c858dbcae9ea4.zip FreeBSD-src-13cbd9c97efdd801d6a355ae093c858dbcae9ea4.tar.gz |
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.
Reviewed by: kib (mentor)
MFC after: 1 month
Diffstat (limited to 'sys/i386/linux/syscalls.master')
-rw-r--r-- | sys/i386/linux/syscalls.master | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master index 313be8a..f13741c 100644 --- a/sys/i386/linux/syscalls.master +++ b/sys/i386/linux/syscalls.master @@ -503,8 +503,10 @@ 308 AUE_NULL STD { int linux_pselect6(void); } 309 AUE_NULL STD { int linux_ppoll(void); } 310 AUE_NULL STD { int linux_unshare(void); } -311 AUE_NULL STD { int linux_set_robust_list(void); } -312 AUE_NULL STD { int linux_get_robust_list(void); } +311 AUE_NULL STD { int linux_set_robust_list(struct linux_robust_list_head *head, \ + l_size_t len); } +312 AUE_NULL STD { int linux_get_robust_list(l_int pid, struct linux_robust_list_head **head, \ + l_size_t *len); } 313 AUE_NULL STD { int linux_splice(void); } 314 AUE_NULL STD { int linux_sync_file_range(void); } 315 AUE_NULL STD { int linux_tee(void); } |