It depends on what you mean by "wait". A POSIX subprocess will autozombify if the stack frame from which perl called it is unwound without waiting - it seems to me that the fork itself should wait for the mail subprocess to prevent that being the zombie - waiting for the fork that invokes the mail should not be the issue here:
use POSIX ":sys_wait_h"; ... # important: called within fork sub Send { my $message = shift; my $pid = open my $wh, '| mail ...'; print $wh $message; close $wh; waitpid $pid, 0; }
So in my expected scenario the above fork "waits" but is really only waiting for the mail process to close the pipe rather than prematurely unwind the current stack frame for subroutine Send. See the perlipc documentation section for the full and very gory details.

-M

Free your mind


In reply to Re: Zombie-less forking inside a daemon? by Moron
in thread Zombie-less forking inside a daemon? by Excalibor

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.