The child process is literally doing nothing but calling POSIX::_exit. I find it hard to believe that the problem is that a slow machine takes more than 30 seconds to process that. I think it's more likely there's another problem here.
my $pid = fork();
if (! defined $pid) {
die "oops, cannot fork: $!";
}
if ($pid == 0) {
# child
require POSIX;
POSIX::_exit(42); # no END etc cleanups
}
The child process is literally doing nothing but calling POSIX::_exit. I find it hard to believe that the problem is that a slow machine takes more than 30 seconds to process that. I think it's more likely there's another problem here.
my $pid = fork(); :_exit( 42); # no END etc cleanups
if (! defined $pid) {
die "oops, cannot fork: $!";
}
if ($pid == 0) {
# child
require POSIX;
POSIX:
}