perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Frommel <ofrom...@linuxnewmedia.de>
Subject Forking in postconfig stage
Date Fri, 12 Nov 2010 10:42:51 GMT
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


Mime
View raw message