summaryrefslogtreecommitdiff
path: root/benchmarks/netio/patches/patch-aa
blob: d87a6f7c8436ca6b64ed546762b347626e52050e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$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;