Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Apr 2009 22:22:53 +0200
From:      Roman Divacky <rdivacky@FreeBSD.org>
To:        Dmitry Chagin <dchagin@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org
Subject:   Re: svn commit: r191269 - head/sys/compat/linux
Message-ID:  <20090419202253.GA28306@freebsd.org>
In-Reply-To: <200904191348.n3JDmhVH010871@svn.freebsd.org>
References:  <200904191348.n3JDmhVH010871@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090419202253.GA28306>