On Thu, 27 May 1999, Vadim Vygonets wrote:
> Why is the second process created the third process and exits?
> Even if it's needed to exec exim, why fork before that?
It creates a 3rd process to hand over the SMTP channel. It may not exit
immediately if there are other addresses to be delivered to other hosts.
It may create yet another process if it needs to hand over a second SMTP
channel for some other message to be delivered. In general, however, it
may exit long before its children (and grandchildren, etc.) do.
> Well, AFAIK, there's no way to wait for your grandchild.
People have suggested process groups, and I'm going to look into that.
> Anyway, I don't know why you HUP the processes. Can you send the
> signal 0 (i.e., just use kill(2) to check if the process exists)
> instead?
Well, I knew that Exim would ignore SIGHUP. I didn't know about signal
0. I don't claim to be a Unix guru!
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
--
*** Exim information can be found at
http://www.exim.org/ ***