Hi there,
I'd like to know if it's possible to fork an infinite loop in the postconfig
stage of the Apache lifecycle. I am trying to do it in a file that I 'use' in
the startup.pl that in turn is called by PerlPostConfigRequire. The fork code I
am using is almost the same as the "Complete fork example" from the book,
however I had to remove all references to the Apache request $r because it is
not available at this stage. In the child process I am creating data that is
exposed to other requests via IPC::Shareable, but the requests just seem to
hang.
The code looks like this:
startup.pl:
...
use Datastore::Cache ( );
...
Datastore/Cache.pm:
...
if ($kid) {
...
} else {
tie $H, 'IPC::Shareable', 'Test', {create => 1, mode => 0666};
while(1) {
my $rnd = rand(5);
$H = $rnd;
sleep(60);
}
}
As you can see, the general problem I am trying to solve is the global creation
of some data that is subject to global change (not dependent on requests) but
is available to all requests on a specific URL. Maybe there better ways of
achieving my general goal than forking?
Thanks for your help
Oliver