Performance improvement patch + bugfix
2006-01-05 by Ranko Zivojnovic
Hi,
I've made a few modifications in order to make milter-greylist perform
more responsive and faster at bigger loads:
* Bucketed search of autowhitelisted and pending entries rather
than write-locked only-one-at-the-time full list search
* Large buffer for writing the dumpfile (10M)
* New option line for the greylist.conf that allows you to disable
the comment at the end of each dumpfile line. Apparently
formating the date and time is quite time/cpu consumable task -
especially if you have to do it a few hundred thousand times in
a row. The config file option is 'dump_no_time_translation'.
...and a fix to what I consider to be a bug:
* 'mxsync' client connection is set non-blocking, but there were
no checks if fprintf() actually delivers the complete sync
message to the peer or just the part of it.
* Also, when reading the 'mxsync' client connection, being non-
blocking, fgets() can bail out with NULL and EAGAIN which is not
fatal error for the connection.
Best regards,
Ranko