I believe I've found another problem with spawned processes under 5.8. If
more than 2 levels of spawn is performed perl will error out. Here's an
example:
TEST.PL:
print "Starting.\n";
system("perl test1.pl");
print "Complete.\n");
TEST1.PL:
print "We are in test1.\n";
system("perl test2.pl");
TEST2.PL:
print "We are in test2.\n";
system("perl test3.pl");
TEST3.PL:
print "We are in test3.\n";
If you run TEST.PL you will get a failure when TEST2 tries to spawn
TEST3.pl. If you run TEST1.pl then everything works correctly. I tried
running this same test on 5.5 of Perl and everything worked correctly. I
tried looking into the VMS.C to see what was causing the problem but I
couldn't see what could of been the problem.
Can anyone test this on a more recent version of Perl? I haven't had any
time to try to convert things over to use the C RTL yet so I don't know if
this is a problem with the LIB$SPAWN code or something else.
Thanks,
Michael Downey