Date: Thu, 18 Jul 1996 20:42:46 -0700 (PDT) From: Mark Diekhans <markd@Grizzly.COM> To: FreeBSD-gnats-submit@freebsd.org Subject: kern/1397: can't send to a pipe Message-ID: <199607190342.UAA06069@Grizzly.COM> Resent-Message-ID: <199607181550.IAA27886@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 1397 >Category: kern >Synopsis: can't send to a pipe >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Jul 18 08:50:01 PDT 1996 >Last-Modified: >Originator: Mark Diekhans >Organization: == Mark Diekhans <markd@grizzly.com> == >Release: FreeBSD 2.2-960612-SNAP i386 >Environment: >Description: Pipes are implemented as sockets and this is what fstat reports. However send returns a "Socket operation on non-socket" error. Either socket operations should work or fstat should report the file as a FIFO, not a socket. This worked on 2.1. >How-To-Repeat: #include <unistd.h> #include <stdio.h> #include <sys/stat.h> int main () { int fds [2]; struct stat statBuf; char *data; if (pipe (fds) < 0) { perror ("pipe"); exit (1); } if (fstat (fds [1], &statBuf)) { perror ("fstat"); exit (1); } printf ("pipe mode is: %o\n", statBuf.st_mode); data = "some data to write"; if (send (fds [1], data, strlen (data), 0) < 0) { perror ("but doing a send fails"); exit (1); } exit (0); } >Fix: Unknown. >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199607190342.UAA06069>