$NetBSD: patch-aa,v 1.4 2003/09/28 14:40:06 tron Exp $

--- netio.c.orig	2001-04-19 14:21:02.000000000 +0200
+++ netio.c	2003-09-28 16:31:19.000000000 +0200
@@ -502,6 +502,10 @@
     free(cBuffer);
     return;
   }
+#if defined(UNIX) && defined(SO_RCVBUF)
+  length = 65536;
+  (void) setsockopt(server, SOL_SOCKET, SO_RCVBUF, &length, sizeof (length));
+#endif
 
   sa_server.sin_family = AF_INET;
   sa_server.sin_port = htons(nPort);
@@ -596,6 +600,10 @@
     free(cBuffer);
     return;
   }
+#if defined(UNIX) && defined(SO_SNDBUF)
+  i = 65536;
+  (void) setsockopt(server, SOL_SOCKET, SO_SNDBUF, &i, sizeof (i));
+#endif
 
   if (connect(server, (struct sockaddr *) &sa_server, sizeof(sa_server)) < 0)
   {
@@ -618,7 +626,7 @@
     {
       while (!bTimeOver)
       {
-	if ((rc = send(server, cBuffer, tSizes[i], 0)) != tSizes[i] && errno != 0 && errno != EINTR)
+	if ((rc = send(server, cBuffer, tSizes[i], 0)) < 0 && errno != EINTR)
 	{
 	  psock_errno("send()");
 	  break;
