------- You are receiving this mail because: -------
You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=1019
--- Comment #6 from Uwe Doering <gemini@???> 2010-09-19 22:10:30 ---
(In reply to comment #5)
> [...]
> Is it neccessary to release the memory? Exim uses pools to avoid leaks
> already and I am glad about each line of code I don't need. I suggest
> to remove the calls to store_release().
I have been thinking for a while about it and also looked at other code in
Exim. The point is that the pool gets released only after the message has been
processed. However, as a transport mechanism dkim_exim_sign() gets called for
each delivery. Normally, there are only one or a few recipients for an
outgoing message. But if this were a mailing list there could be thousands of
recipients, and dkim_exim_sign() would get called as many times. Memory
consumption by the buffers we are talking about would therefore be
considerable.
Now, I don't know enough about Exim's internals to answer the question of
whether there is some limit to the number of deliveries and therefore calls to
dkim_exim_sign() a single Exim process can make. This would of course also
limit the memory consumption. But if there is no such limit Exim would run out
of memory earlier if we would scrap the buffer cleanup.
At this point I must say that I simply cannot decide this. In case you can't,
either, perhaps Nigel has the necessary insight.
Uwe
--
Configure bugmail:
http://bugs.exim.org/userprefs.cgi?tab=email