Date: 12 May 1998 11:11:57 +1000 From: Julian Assange <proff@iq.org> To: Garance A Drosihn <drosih@rpi.edu> Cc: gibbs@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: more queue.h brokenness Message-ID: <wxu36wb8de.fsf@polysynaptic.iq.org> In-Reply-To: Garance A Drosihn's message of "Mon, 11 May 1998 20:37:39 -0400" References: <v04011708b17d46eba4db@[128.113.24.47]>
next in thread | previous in thread | raw e-mail | index | archive | help
Garance A Drosihn <drosih@rpi.edu> writes:
> At 10:22 PM +0000 5/11/98, Julian Assange wrote:
> > I notice someone (gibbs?) has updated sys/queue.h
> [skipping]
> > the other queue.h types (where defined) also have this problem.
> >
> > TAILQ_PREV is only used in vm/vm_object.c, which, presumably,
> > is why no-one has noticed the problem before (and why I've
> > cc'd dyson).
>
> Not sure what you mean by "the other" queue.h types, but I thought
> I'd mention that the newer version of lpr also uses sys/queue.h
> for some things. It seems to use TAILQ_{ENTRY,HEAD,INIT,REMOVE},
> in case those are among the other types which have the problem...
No, by other types I meant the other queue types, e.g STAILQ/LIST.
The definitions for TAILQ_LAST and TAILQ_PREV have changed; I'm not
sure if these new definitions have fixed the problem or not (the code
path is complex). The symptoms were that after a certain combination
of inserts and removes, TAILQ_PREV on the first element returned the
first member, rather than NULL (meaning a backwards loop through the
TAILQ never ended). When there was only one member left, TAILQ_LAST
returned NULL, rather than the first member.
Cheers,
Julian.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?wxu36wb8de.fsf>
