Do you have a question? Post it now! No Registration Necessary. Now with pictures!
November 11, 2006, 12:12 am
rate this thread
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
127.0.0.1 (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.