[Exim] Calling for testers

Top Page
Delete this message
Reply to this message
Author: Nico Erfurth
Date:  
To: Exim-Users (E-mail)
New-Topics: Re: [Exim] Calling for testers (v2)
Subject: [Exim] Calling for testers
Hi list,

I've done some work on exim and would be glad if some people could test it.

The patch is at http://perlgolf.de/exim-4.33-search_pool.patch

Changes are:
1.) exim now caches ALL lookups, not only the last per file/type
2.) a new store-pool was added, to manage all the lookup-caching more
     efficiently, the used store is reset when search_tidyup is called.
3.) Some improvements to store_get/_reset were made, to reuse allocated
     memory more efficiently (hopefully)
4.) string_copy/string_copy_malloc now use memcpy to copy the strings,
     should be a bit more efficient than Ustrcpy
5.) expand_string_internal now preallocates the result-string(again, it
     looks like this was dropped in 4.11, maybe for a reason, we'll see.
     The current code should handle this well and should be able to
     release most of the temporary used store.
6.) Small cleanup in OS/os.c-Linux, to suppress compiler warnings.
7.) Some smaller changed I can't fully remember :)


Because of 2. I had to change the way some of the lookup modules used
memory, there are NO store_malloc or string_copy_malloc calls anymore.
All needed memory will be retrieved from the search pool and reset when
search_tidyup is called. So there is no need to use malloc/free store
anymore (hopefully). I could not test the changes completly, because I
don't use all of them locally. So if anyone has time, please test it.

I've tested it as far as I could for some hours now, and it looks good.
The code now uses much less calls to malloc/free than before.

So, happy testing, feedback and debuglogs are welcome.

Nico

P.S. The patch can used together with exiscan-acl 4.33-20 ;)