On Sun, 27 Dec 2020 18:41:22 +0100, Martijn van Duren wrote: > Because filters use system(3) after forking we get 2 processes for every > filter: one for waiting for system(3) to return and one running the actual > filter. > > Since the extra smtpd process does absolutely nothing we can just as easily > copy over what system(3) does internally for execve and call the shell > command directly.
Since you are just passing environ unchanged, why not use execv(3) instead of execve(2) and avoid the ugly 'extern char **environ;'? - todd
