summaryrefslogtreecommitdiffstats
path: root/sys/compat/linux/linux_emul.c
diff options
context:
space:
mode:
authordchagin <dchagin@FreeBSD.org>2009-04-19 13:48:42 +0000
committerdchagin <dchagin@FreeBSD.org>2009-04-19 13:48:42 +0000
commitada9604fd24dc29bff6c92bc0943439bc14011f2 (patch)
tree5498ad96bf52e436830d5b5c228df2151231f121 /sys/compat/linux/linux_emul.c
parent367054e0a3090fef4c4aba77a5b893d9650e64ff (diff)
downloadFreeBSD-src-ada9604fd24dc29bff6c92bc0943439bc14011f2.zip
FreeBSD-src-ada9604fd24dc29bff6c92bc0943439bc14011f2.tar.gz
Remove support for FUTEX_REQUEUE operation.
Glibc does not use this operation since 2.3.3 version (Jun 2004), as it is racy and replaced by FUTEX_CMP_REQUEUE operation. Glibc versions prior to 2.3.3 fall back to FUTEX_WAKE when FUTEX_REQUEUE returned EINVAL. Any application directly using FUTEX_REQUEUE without return value checking are definitely broken. Limit quantity of messages per process about unsupported operation. Approved by: kib (mentor) MFC after: 1 month
Diffstat (limited to 'sys/compat/linux/linux_emul.c')
-rw-r--r--sys/compat/linux/linux_emul.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/compat/linux/linux_emul.c b/sys/compat/linux/linux_emul.c
index 1ca48a3..dc81553 100644
--- a/sys/compat/linux/linux_emul.c
+++ b/sys/compat/linux/linux_emul.c
@@ -86,6 +86,7 @@ linux_proc_init(struct thread *td, pid_t child, int flags)
em = malloc(sizeof *em, M_LINUX, M_WAITOK | M_ZERO);
em->pid = child;
em->pdeath_signal = 0;
+ em->used_requeue = 0;
em->robust_futexes = NULL;
if (flags & LINUX_CLONE_THREAD) {
/* handled later in the code */
OpenPOWER on IntegriCloud