Take platforms with small UIO_IOVEC values into account.
authordrepper <drepper>
Fri, 24 Jul 1998 21:48:18 +0000 (21:48 +0000)
committerdrepper <drepper>
Fri, 24 Jul 1998 21:48:18 +0000 (21:48 +0000)
nscd/connections.c

index e11132c..582a6cf 100644 (file)
@@ -502,6 +502,14 @@ gr_send_answer (int conn, struct group *grp)
     }
 
   /* Send all the data.  */
+  while (nblocks > UIO_MAXIOV)
+    {
+      if (writev (sock[conn], vec, UIO_MAXIOV) != total_len)
+       dbg_log (_("write incomplete on send group answer: %s"),
+                strerror (errno));
+      vec += UIO_MAXIOV;
+      nblocks -= UIO_MAXIOV;
+    }
   if (writev (sock[conn], vec, nblocks) != total_len)
     dbg_log (_("write incomplete on send group answer: %s"),
             strerror (errno));