From owner-freebsd-hackers Sat Nov 18 13:38:43 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id NAA19107 for hackers-outgoing; Sat, 18 Nov 1995 13:38:43 -0800 Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id NAA19102 for ; Sat, 18 Nov 1995 13:38:37 -0800 Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id OAA09694; Sat, 18 Nov 1995 14:36:11 -0700 From: Terry Lambert Message-Id: <199511182136.OAA09694@phaeton.artisoft.com> Subject: Re: linux' mknod and named pipes. To: grog@lemis.de Date: Sat, 18 Nov 1995 14:36:11 -0700 (MST) Cc: bde@zeta.org.au, hackers@FreeBSD.ORG In-Reply-To: <199511181028.LAA17511@allegro.lemis.de> from "Greg Lehey" at Nov 18, 95 11:28:45 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1352 Sender: owner-hackers@FreeBSD.ORG Precedence: bulk > > >> >Is there any good reason why we shouldn't modify mknod to make a fifo > > >> >when called with the appropriate parameters? > > >> > > >> The same reason we shouldn't modify thousands of other system calls to be > > >> compatible with thousands of other systems: it takes longer and gives > > >> worse results. [ ... ] > > >2. It gives worse results. How? Why? > > > > It just confuses programmers to have two ways of doing the same thing. > > Not if you say "this feature is deprecated and only exists for > compatibility with obsolescent operating systems". Actually, it's BSD that's obsolete here. You might as well argue for changing select() to not work on some classes of devices as argue to seperate the mknod and mkfifo interfaces. It's stupid to perpetuate non-uniformity in interfaces for bogus reasons. There's no good reason for having the interfaces seperate except that it's a historical BSDism. I'd prefer rolling the code together and replacing mkfifo(2) with mkfifo(3) that calls mknod(2). POSIXism's (which is what the mkfifo(2) man page says this is) can be implemented in the library and not change compliance level for the system (not that anyone has certified FreeBSD). Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.