From owner-freebsd-hackers Sun Oct 28 20:23:51 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from dragon.nuxi.com (trang.nuxi.com [66.92.13.169]) by hub.freebsd.org (Postfix) with ESMTP id 9B9E937B405; Sun, 28 Oct 2001 20:23:47 -0800 (PST) Received: (from obrien@localhost) by dragon.nuxi.com (8.11.6/8.11.1) id f9T4NkF61000; Sun, 28 Oct 2001 20:23:46 -0800 (PST) (envelope-from obrien) Date: Sun, 28 Oct 2001 20:23:45 -0800 From: "David O'Brien" To: Terry Lambert Cc: Mike Barcroft , void , Kris Kennaway , hackers@FreeBSD.ORG Subject: Re: syslogd and kqueue Message-ID: <20011028202345.A60175@dragon.nuxi.com> Reply-To: obrien@FreeBSD.ORG References: <20011026233957.A9925@parhelion.firedrake.org> <20011026200436.A61058@xor.obsecurity.org> <20011027043342.A18231@parhelion.firedrake.org> <20011027001704.B2586@coffee.q9media.com> <20011027002622.C2586@coffee.q9media.com> <20011028180643.B59388@dragon.nuxi.com> <3BDCCFB2.1E5CFC49@mindspring.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3BDCCFB2.1E5CFC49@mindspring.com>; from tlambert2@mindspring.com on Sun, Oct 28, 2001 at 07:40:34PM -0800 X-Operating-System: FreeBSD 5.0-CURRENT Organization: The NUXI BSD group X-Pgp-Rsa-Fingerprint: B7 4D 3E E9 11 39 5F A3 90 76 5D 69 58 D9 98 7A X-Pgp-Rsa-Keyid: 1024/34F9F9D5 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 On Sun, Oct 28, 2001 at 07:40:34PM -0800, Terry Lambert wrote: > By using the rename/create/signal approach, syslogd is > guaranteed to log new messages to the old file, despite the > rename, until signalled to close and reopen the file (or a > new file of another name, if syslog.conf is changed). > > If it created the file itself, there would be a potential > race issue that would remain unresolved, which is hidden by > the seperation of the create and the subsequent signal. Come again? 1. syslogd calls open(2) with O_CREAT. At this point syslogd happily keeps the file open and writes to it. 2. I rename the file. As we all know, syslogd keeps writing to its open file. 3. syslogd is HUP'ed, goto #1. No muss, no fuss. So where is the race? Mike had the only justification so far -- that of permissions of the file. -- -- David (obrien@FreeBSD.org) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message