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

Attachment: pgpUMQG0zVKd2.pgp
Description: PGP signature

Reply via email to