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

Reply via email to