On Wed, 23 Nov 2005, Matthias Waffenschmidt wrote:

> when debugging an expansion problem via -be I discovered the following
> problem (running version 4.52 on FreeBSD):
> 
> If you're using a file lookup like
> 
> ${if eq {${lookup{whatever}nwildlsearch{/some/file}}}{test}{yes}{no}}
> 
> the file contents are cached and will not be reread if /some/file has
> been changed (-d always says 'cached open').
> 
> Is this a feature or a bug? If it is a feature (I don't guess so) it
> should be documented in the docs.

Exim caches the results of lookups *within the same process*. Since Exim 
processes normally run for a short time, and do just one job (e.g. 
receive a message, deliver a message), this is not a problem. A change 
to the file will be picked up by the next Exim process that reads it.

If you start an Exim -be process and do a lookup, then change the file, 
then re-issue the same lookup within the same Exim process, then yes, 
you'll get the same answer.

Exim could discard its caches after each line when testing with -be, but
then you couldn't use -be for testing the caching! Exim's test suite
currently uses this test.


-- 
Philip Hazel            University of Cambridge Computing Service,
[EMAIL PROTECTED]      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book

-- 
## List details at http://www.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to