From owner-freebsd-current Sun Nov 7 10:10:59 1999 Delivered-To: freebsd-current@freebsd.org Received: from green.myip.org (localhost [127.0.0.1]) by hub.freebsd.org (Postfix) with ESMTP id 8E2F014FA8 for ; Sun, 7 Nov 1999 10:05:49 -0800 (PST) (envelope-from green@FreeBSD.org) Received: from localhost ([127.0.0.1] ident=green) by green.myip.org with esmtp (Exim 3.02 #1) id 11kBTD-000EKJ-00; Sat, 06 Nov 1999 14:25:51 -0500 Date: Sat, 6 Nov 1999 14:25:50 -0500 (EST) From: Brian Fundakowski Feldman X-Sender: green@green.myip.org To: Dmitrij Tejblum Cc: David Malone , Ollivier Robert , FreeBSD Current Users' list Subject: Re: Serious locking problem in CURRENT In-Reply-To: <199911061921.WAA02732@tejblum.pp.ru> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sat, 6 Nov 1999, Dmitrij Tejblum wrote: > David Malone wrote: > > A child process seems to be able to let go of a parent's lock on > > 4.0 by closing a file discriptor, the same doesn't seem to be true > > on 3.3. > > So, apparently, it was broken in rev. 1.68 of kern_descript.c. (Another > example that comments (in closef() in this case) serve no purpose :-/). There were zero comments about what order things happen in; in fact, the ordering in this case is Just Plain Lame (TM). It's much more correct to explicitly check for fp->f_count == 1. > > BTW, I have another little concern with that commit: It make possible for > last close() of a file descriptor to return 0 instead of the error from > VOP_CLOSE(), and the error from VOP_CLOSE() to be ignored. I don't see where you're getting that from at all. > > Dima > > > -- Brian Fundakowski Feldman \ FreeBSD: The Power to Serve! / green@FreeBSD.org `------------------------------' To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message