[Dovecot] Misbehavior with Dovecot and Mulberry

Jon Roma roma at uiuc.edu
Tue Sep 27 06:40:03 EEST 2005


Sorry about that last -- Windows seems to have mangled the attachment.
Retrying here.
-------------- next part --------------
Index: src/lib/ostream-file.c
===================================================================
--- src/lib/ostream-file.c	(revision 2865)
+++ src/lib/ostream-file.c	(working copy)
@@ -17,8 +17,8 @@
 #  include <sys/uio.h>
 #endif
 
-#ifndef UIO_MAXIOV
-#  define UIO_MAXIOV 16
+#ifndef IOV_MAX
+#  define IOV_MAX 16
 #endif
 
 /* try to keep the buffer size within 4k..128k. ReiserFS may actually return
@@ -137,22 +137,22 @@
 		ret = write(fstream->fd, iov->iov_base, iov->iov_len);
 	else {
 		sent = 0;
-		while (iov_size > UIO_MAXIOV) {
+		while (iov_size > IOV_MAX) {
 			size = 0;
-			for (i = 0; i < UIO_MAXIOV; i++)
+			for (i = 0; i < IOV_MAX; i++)
 				size += iov[i].iov_len;
 
 			ret = writev(fstream->fd, (const struct iovec *)iov,
-				     UIO_MAXIOV);
+				     IOV_MAX);
 			if (ret != (ssize_t)size)
 				break;
 
 			sent += ret;
-			iov += UIO_MAXIOV;
-			iov_size -= UIO_MAXIOV;
+			iov += IOV_MAX;
+			iov_size -= IOV_MAX;
 		}
 
-		if (iov_size <= UIO_MAXIOV) {
+		if (iov_size <= IOV_MAX) {
 			ret = writev(fstream->fd, (const struct iovec *)iov,
 				     iov_size);
 		}


More information about the dovecot mailing list