Timo Sirainen wrote:
Anyway, I think something like this should fix it (not tested):
diff -u -r1.230.2.5 mail-index.c --- src/lib-index/mail-index.c 17 Jun 2006 13:42:36 -0000 1.230.2.5 +++ src/lib-index/mail-index.c 24 Jun 2006 19:35:30 -0000 @@ -1031,6 +1031,15 @@ /* this map is already used by some views and they may have pointers into it. leave them and create a new mapping. */ if (!index->mmap_disable) { + struct mail_index_map *old_map; + + old_map = index->map; + map = mail_index_map_clone(index->map, + index->map->hdr.record_size); + map->refcount = index->map->refcount; + mail_index_unmap(index, &index->map); + *old_map = *map; + i_free(map); map = NULL; } else { /* create a copy of the mapping instead so we don't
I don't think that worked -- core dumps, but I didn't track it down. Instead I removed it and tried disabling mmap in the config file and I also tried keeping track of the inode# and device# and keeping a copy of the addr. If the mmap returned ENOSPC, I returned the old addr. That seemed to work, too. But, Thunderbird seems to be really slow with my compiled dovecot server -- When I click on a message it takes thunderbird 1.5.0.4 about 5 seconds to highlight the message. Once it is highlighted, it is displayed immediately. Is it something obvious? The log files don't show anything significant and I turned mail_debug on. Rich