On Wed, 15 Jun 2011 22:54:42 +0200
Michiel Brandenburg <[email protected]> wrote:

> I have seen this problem too, I have looked at the code and it seems 
> that there is a delay between the creation of the socket (using 
> smfi_setconn mimedefang.c line 2442) and exit of the parent process 
> after daemonizing. Could it be that the smfi_setconn only indicates
> the intent to create the socket and does not do the actual socket
> creation itself ?  Just theorizing here mind you.

That's the case.  Newer versions of the milter library have a
smfi_opensocket function to cause the socket to actually be
created.  (https://www.milter.org/developers/api/smfi_opensocket)

I can have MIMEDefang call smfi_opensocket if it's compiled against
a version of milter that has it.

> A better fix might be to let the parent process exit only when the 
> socket has been created, don't know if this is a wanted feature but
> it might be the best solution.

I think it is.  Polling for the socket once every 200ms or so from the
parent and exiting if it doesn't appear within 5 seconds makes sense.
I will look at making those changes.

Regards,

David.
_______________________________________________
NOTE: If there is a disclaimer or other legal boilerplate in the above
message, it is NULL AND VOID.  You may ignore it.

Visit http://www.mimedefang.org and http://www.roaringpenguin.com
MIMEDefang mailing list [email protected]
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang

Reply via email to