From owner-freebsd-hackers Sun Jun 23 20: 1:34 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 0B2BF37B43A for ; Sun, 23 Jun 2002 20:01:10 -0700 (PDT) Received: from apollo.backplane.com (localhost [127.0.0.1]) by apollo.backplane.com (8.12.3/8.12.3) with ESMTP id g5O315CV089290; Sun, 23 Jun 2002 20:01:05 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.3/8.12.3/Submit) id g5O315Ow089287; Sun, 23 Jun 2002 20:01:05 -0700 (PDT) (envelope-from dillon) Date: Sun, 23 Jun 2002 20:01:05 -0700 (PDT) From: Matthew Dillon Message-Id: <200206240301.g5O315Ow089287@apollo.backplane.com> To: Julian Elischer Cc: Alfred Perlstein , freebsd-hackers@FreeBSD.ORG, Alan Cox , Tor.Egge@cvsup.no.freebsd.org Subject: Re: Bug in wakeup() (stable and current) ? References: Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG : :> the conditionally restarting rather then removing the element from the :> list and unconditionally restarting. The only reason it works at all :> is because sys/queue.h does not clear out the pointers in the node :> that was just removed. The code is just plain wrong, though, because :> the queue mechanisms make no such (documented) guarentee. : :ummmm Was this found because of my tailq debugging stuff :that sets the forward pointer to -1? : Yah, that's what found it. -Matt Matthew Dillon To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message