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

Chagin Dmitry dchagin at FreeBSD.org
Sun Apr 19 20:40:10 UTC 2009


On Sun, Apr 19, 2009 at 10:22:53PM +0200, Roman Divacky wrote:
> 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

hi,
hmm, it is the counter.
it is used, you cut off this piece of a code in the reply.

-- 
Have fun!
chd
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/svn-src-head/attachments/20090419/39e893cb/attachment.pgp


More information about the svn-src-head mailing list