Net::Daemon t/forkm.t issue on Solaris 10 zone?

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

I am attempting to install Net::Daemon 0.39 under Perl 5.8.8, however
make test hangs on t/forkm.  In tracing through the test I can see the
initial process runs, fork()s, the child runs then ends as expected.
However back in the parent this line...

($handle, $port) = Net::Daemon::Test->Child
    (10, $^X, '-Iblib/lib', '-Iblib/arch', 't/server',
     '--mode=fork', 'logfile=stderr', 'debug');

never returns.  I'm running this test from a local zone on Solaris 10.
I recently experienced an issue with a Perl test module making
assumptions about the init process having a pid of 1 (/sbin/init will
not have 1 as its pid inside a local zone).  So, it makes me wonder if
parent/child process relationships, or perhaps some issue with (which is mentioned in this test module) relative to the
nuances of zones may be at issue here.  I appreciate this is a bit of
wild speculation, but I'm gettin' desperate ;)

I also noted this recent comment about forkm...

2006-02-15  Jochen Wiedmann  <jwied at-sign cpan dot-part org> (0.39)

        * t/forkm.t: Hopefully, I finally got rid of the
      problem with the forking tests. It seems, that
      the perlipc manual got updated in the past years,
      most possibly for the same reason: A child handler
      must be written to catch childs in a loop.

However, I am unable to decode what Jochen means here, or otherwise
discover from his comment what might be the problem in my environment.

Your response and help is much appreciated.  Thanks in advance.

-Randy Galbraith

Site Timeline