svn commit: r191269 - head/sys/compat/linux

Roman Divacky rdivacky at FreeBSD.org
Sun Apr 19 20:24:09 UTC 2009


On Sun, Apr 19, 2009 at 01:48:43PM +0000, Dmitry Chagin wrote:
> Author: dchagin
> Date: Sun Apr 19 13:48:42 2009
> New Revision: 191269
> URL: http://svn.freebsd.org/changeset/base/191269
> 
> Log:
>   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
> 
> Modified:
>   head/sys/compat/linux/linux_emul.c
>   head/sys/compat/linux/linux_emul.h
>   head/sys/compat/linux/linux_futex.c
> 
> Modified: head/sys/compat/linux/linux_emul.c
> ==============================================================================
> --- head/sys/compat/linux/linux_emul.c	Sun Apr 19 12:41:37 2009	(r191268)
> +++ head/sys/compat/linux/linux_emul.c	Sun Apr 19 13:48:42 2009	(r191269)
> @@ -86,6 +86,7 @@ linux_proc_init(struct thread *td, pid_t
>  		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 */
> 
> Modified: head/sys/compat/linux/linux_emul.h
> ==============================================================================
> --- head/sys/compat/linux/linux_emul.h	Sun Apr 19 12:41:37 2009	(r191268)
> +++ head/sys/compat/linux/linux_emul.h	Sun Apr 19 13:48:42 2009	(r191269)
> @@ -51,6 +51,7 @@ struct linux_emuldata {
>  	struct linux_emuldata_shared *shared;
>  
>  	int	pdeath_signal;		/* parent death signal */
> +	int	used_requeue;		/* uses deprecated futex op */

what is the point of this variable? it's only set and never read


More information about the svn-src-head mailing list