From owner-freebsd-hackers Mon May 11 18:41:35 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA05652 for freebsd-hackers-outgoing; Mon, 11 May 1998 18:41:35 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from alpo.whistle.com (alpo.whistle.com [207.76.204.38]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA05644; Mon, 11 May 1998 18:41:24 -0700 (PDT) (envelope-from julian@whistle.com) Received: (from daemon@localhost) by alpo.whistle.com (8.8.5/8.8.5) id SAA26420; Mon, 11 May 1998 18:36:18 -0700 (PDT) Received: from current1.whistle.com(207.76.205.22) via SMTP by alpo.whistle.com, id smtpd026418; Tue May 12 01:36:08 1998 Message-ID: <3557A784.31D2DE92@whistle.com> Date: Mon, 11 May 1998 18:36:04 -0700 From: Julian Elischer Organization: Whistle Communications X-Mailer: Mozilla 3.0Gold (X11; I; FreeBSD 2.2.5-RELEASE i386) MIME-Version: 1.0 To: Julian Assange CC: Garance A Drosihn , gibbs@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: more queue.h brokenness References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Julian Assange wrote: > > Garance A Drosihn 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. Then the problem in in one of the inserts or removals.. probably someone 'optimising' something they didn't quite understand. > > Cheers, > Julian. > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message