RE: [Exim] Exim 4.10 on FreeBSD

Pàgina inicial
Delete this message
Reply to this message
Autor: Philip Hazel
Data:  
A: Danny.Carroll
CC: exim-users
Assumpte: RE: [Exim] Exim 4.10 on FreeBSD
On Fri, 17 Jan 2003 Danny.Carroll@??? wrote:

> > When Exim starts up as a daemon with a -q setting, it should
> > always do a
> > queue run right at the start.
>
> I figured that, but it just doesnt.... And it will not log why.
> But if i do it with -d then it *does* and logs it too....


Sounds like it's sledgehammer time.

Look at the source file daemon.c. The daemon-running code is between
lines 1104 and 1183 in Exim 4.12.

You will have to stuff in some debugging code to try to track what is
goind on. Of course, you can't use the normal debugging output, because
you don't want to use -d. You have to use some expensive code like this:

{
FILE *f = fopen("/some/writeable/file", "a");
fprintf(f, "reached this point: data =....\n");
fclose(f);
}

If you put that in in several places (with appropriate texts, and
printing the values of approprate variables) it should be possible to
trace what is going on, and perhaps why it isn't starting the queue
runner. In particular, check that it gets to line 1146, which contains:

(void)child_exec_exim(CEE_EXEC_PANIC, FALSE, NULL, TRUE, 1, opt);

That is the point at which it tries to run the queue runner. The actual
exec itself is in line 146 of the child.c source. However, if that
fails, something should be logged.

Good Luck.

--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.