diff options
Diffstat (limited to 'audio/vat/files/patch-af')
| -rw-r--r-- | audio/vat/files/patch-af | 117 | 
1 files changed, 0 insertions, 117 deletions
| diff --git a/audio/vat/files/patch-af b/audio/vat/files/patch-af deleted file mode 100644 index 6b73cca9f5c8..000000000000 --- a/audio/vat/files/patch-af +++ /dev/null @@ -1,117 +0,0 @@ ---- net.cc.orig	1997/10/07 19:07:01 -+++ net.cc	1998/01/26 22:21:41 -@@ -163,46 +163,48 @@ - { - 	int cc = ::send(fd, (char*)buf, len, 0); - 	if (cc < 0) { --		switch (errno) { -+		/* -+		 * Due to a bug in kern/uipc_socket.c, on several -+		 * systems, datagram sockets incorrectly persist -+		 * in an error state on receipt of any ICMP -+		 * error.  This causes unicast connection -+		 * rendezvous problems, and worse, multicast -+		 * transmission problems because several systems -+		 * incorrectly send port unreachables for  -+		 * multicast destinations.  Our work around -+		 * is to call getsockopt(..., SO_ERROR, ...) -+		 * which resets so->so_error. -+		 * -+		 * This bug originated at CSRG in Berkeley -+		 * and was present in the BSD Reno networking -+		 * code release.  It has since been fixed -+		 * in OSF-3.x.  It is know to remain -+		 * in 4.4BSD and AIX-4.1.3. -+		 * -+		 * A fix is to change the following lines from -+		 * kern/uipc_socket.c: -+		 * -+		 *	if (so_serror) -+		 *		snderr(so->so_error); -+		 * -+		 * to: -+		 * -+		 *	if (so->so_error) { -+		 * 		error = so->so_error; -+		 *		so->so_error = 0; -+		 *		splx(s); -+		 *		goto release; -+		 *	} -+		 * -+		 */ -+		int err, errlen = sizeof(err), savederrno; -+ -+		savederrno = errno; -+		getsockopt(fd, SOL_SOCKET, SO_ERROR, &err, -+			&errlen); -+		switch (savederrno) { - 		case ECONNREFUSED: - 			/* no one listening at some site - ignore */ --#if defined(__osf__) || defined(_AIX) --			/* --			 * Due to a bug in kern/uipc_socket.c, on several --			 * systems, datagram sockets incorrectly persist --			 * in an error state on receipt of an ICMP --			 * port-unreachable.  This causes unicast connection --			 * rendezvous problems, and worse, multicast --			 * transmission problems because several systems --			 * incorrectly send port unreachables for  --			 * multicast destinations.  Our work around --			 * is to simply close and reopen the socket --			 * (by calling reset() below). --			 * --			 * This bug originated at CSRG in Berkeley --			 * and was present in the BSD Reno networking --			 * code release.  It has since been fixed --			 * in 4.4BSD and OSF-3.x.  It is know to remain --			 * in AIX-4.1.3. --			 * --			 * A fix is to change the following lines from --			 * kern/uipc_socket.c: --			 * --			 *	if (so_serror) --			 *		snderr(so->so_error); --			 * --			 * to: --			 * --			 *	if (so->so_error) { --			 * 		error = so->so_error; --			 *		so->so_error = 0; --			 *		splx(s); --			 *		goto release; --			 *	} --			 * --			 */ --			reset(); --#endif - 			break; -  - 		case ENETUNREACH: -@@ -217,7 +219,7 @@ - 			 * icmp unreachable, so we should be able to - 			 * send now. - 			 */ --			(void)::send(ssock_, (char*)buf, len, 0); -+			(void)::send(fd, (char*)buf, len, 0); - 			break; -  - 		default: -@@ -264,12 +266,14 @@ - 	} - 	int cc = ::sendmsg(ssock_, (msghdr*)&mh, 0); - 	if (cc < 0) { --		switch (errno) { -+		int err, errlen = sizeof(err), savederrno; -+ -+		savederrno = errno; -+		getsockopt(ssock_, SOL_SOCKET, SO_ERROR, &err, -+			&errlen); -+		switch (savederrno) { - 		case ECONNREFUSED: - 			/* no one listening at some site - ignore */ --#if defined(__osf__) || defined(_AIX) --			reset(); --#endif - 			break; -  - 		case ENETUNREACH: | 
