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>