Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Sep 1995 09:17:50 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        vince@apollo.COSC.GOV (-Vince-)
Cc:        chuckr@eng.umd.edu, FreeBSD-hackers@freefall.freebsd.org
Subject:   Re: Masterplan 1.00 (fwd)
Message-ID:  <199509221617.JAA28698@phaeton.artisoft.com>
In-Reply-To: <Pine.BSF.3.91.950921235054.19640Q-100000@apollo.COSC.GOV> from "-Vince-" at Sep 21, 95 11:52:17 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> 	I tried replacing mknod with mkfifo as what Jordan and everyone else
> told me but when it tried to write, it said broken pipe =(  Anyone out 
> there used masterplan under FreeBSD?


Patch /sys/kern/uipc_socket.c:
===========================================================================
*** FIFO_SAVE/uipc_socket.c	Fri Sep 22 09:06:21 1995
--- uipc_socket.c	Fri Sep 22 09:11:54 1995
***************
*** 359,366 ****
  		goto out;
  	do {
  		s = splnet();
! 		if (so->so_state & SS_CANTSENDMORE)
  			snderr(EPIPE);
  		if (so->so_error)
  			snderr(so->so_error);
  		if ((so->so_state & SS_ISCONNECTED) == 0) {
--- 359,369 ----
  		goto out;
  	do {
  		s = splnet();
! 		if (so->so_state & SS_CANTSENDMORE) {
! 			if (so->so_state & SS_NBIO)
! 				snderr(EWOULDBLOCK);
  			snderr(EPIPE);
+ 		}
  		if (so->so_error)
  			snderr(so->so_error);
  		if ((so->so_state & SS_ISCONNECTED) == 0) {
===========================================================================
And rebuild your kernel.

Probably this is not the only fix needed.  The problem is that (apparently)
you are using non-blocking I/O on the FIFO, and it doesn't work.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199509221617.JAA28698>