aboutsummaryrefslogtreecommitdiffstats
path: root/interimap
diff options
context:
space:
mode:
Diffstat (limited to 'interimap')
-rwxr-xr-xinterimap4
1 files changed, 2 insertions, 2 deletions
diff --git a/interimap b/interimap
index 9a1df0b..386492e 100755
--- a/interimap
+++ b/interimap
@@ -1166,8 +1166,8 @@ sub callback_new_message($$$$;$$$) {
}
else {
# use MULTIAPPEND (RFC 3502)
- # proceed by 1MiB batches to save roundtrips without blowing up the memory
- if (@$buff and $$bufflen + $length > 1048576) {
+ # proceed by batches of 128/1MiB to save roundtrips without blowing up the memory
+ if ($#$buff >= 127 or (@$buff and $$bufflen + $length > 1048576)) {
@UIDs = callback_new_message_flush($idx, $mailbox, $name, @$buff);
@$buff = ();
$$bufflen = 0;