From owner-freebsd-hackers Tue Aug 19 20:53:29 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id UAA25757 for hackers-outgoing; Tue, 19 Aug 1997 20:53:29 -0700 (PDT) Received: from phobos.illtel.denver.co.us (root@phobos.illtel.denver.co.us [207.33.75.1]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id UAA25752 for ; Tue, 19 Aug 1997 20:53:26 -0700 (PDT) Received: from localhost (abelits@localhost) by phobos.illtel.denver.co.us (8.8.5/8.6.9) with SMTP id UAA05185 for ; Tue, 19 Aug 1997 20:47:00 -0700 Date: Tue, 19 Aug 1997 20:47:00 -0700 (PDT) From: Alex Belits To: hackers@freebsd.org Subject: S_ISFIFO and S_ISSOCK Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk In /usr/include/sys/stat.h: #ifndef _POSIX_SOURCE [skipped] #define S_IFIFO 0010000 /* named pipe (fifo) */ [skipped] #define S_IFSOCK 0140000 /* socket */ #endif [skipped] #define S_ISFIFO(m) (((m) & 0170000) == 0010000 || \ ((m) & 0170000) == 0140000) /* fifo or socket */ #ifndef _POSIX_SOURCE [skipped] #define S_ISSOCK(m) (((m) & 0170000) == 0010000 || \ ((m) & 0170000) == 0140000) /* fifo or socket */ [skipped] #endif In other words, fifo and socket have different flags, but checks for them treat them as one? And it's mentioned that S_IFIFO is set for named pipes while in fact it's set for both anonymous and named ones, while S_IFSOCK is set for sockets only. Is it something that was left of BSD4.4 implementation of anonymous pipe as a kind of socket? But #ifndef _POSIX_SOURCE around S_ISSOCK macro looks suspicious... -- Alex