aboutsummaryrefslogtreecommitdiff
path: root/sys/compat/linux/linux_futex.c
diff options
context:
space:
mode:
authorDmitry Chagin <dchagin@FreeBSD.org>2021-07-29 09:55:59 +0000
committerDmitry Chagin <dchagin@FreeBSD.org>2021-07-29 09:55:59 +0000
commitd90df8ac1324d731f8423b5501158ee870fbd5ba (patch)
tree88557bcd9b3826848455d5613ea59d2bc6a79d77 /sys/compat/linux/linux_futex.c
parent626cbd4648141929502b953111dc8a71d550c7e8 (diff)
Diffstat (limited to 'sys/compat/linux/linux_futex.c')
-rw-r--r--sys/compat/linux/linux_futex.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/compat/linux/linux_futex.c b/sys/compat/linux/linux_futex.c
index 5f18c93b0988..edf059f74272 100644
--- a/sys/compat/linux/linux_futex.c
+++ b/sys/compat/linux/linux_futex.c
@@ -314,6 +314,18 @@ linux_futex(struct thread *td, struct linux_futex_args *args)
return (linux_futex_lock_pi(td, true, args));
+ /*
+ * Current implementation of FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI
+ * can't be used anymore to implement conditional variables.
+ * A detailed explanation can be found here:
+ *
+ * https://sourceware.org/bugzilla/show_bug.cgi?id=13165
+ * and here http://austingroupbugs.net/view.php?id=609
+ *
+ * And since commit
+ * https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=ed19993b5b0d05d62cc883571519a67dae481a14
+ * glibc does not uses it.
+ */
case LINUX_FUTEX_WAIT_REQUEUE_PI:
/* not yet implemented */
pem = pem_find(td->td_proc);