From: Gareth Kirwan Date: Wed, 19 Dec 2007 12:00:53 +0000 (-0800) Subject: import FCGI-ProcManager 0.18 from CPAN X-Git-Tag: 0.18 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=refs%2Ftags%2F0.18;p=catagits%2FFCGI-ProcManager.git import FCGI-ProcManager 0.18 from CPAN git-cpan-module: FCGI-ProcManager git-cpan-version: 0.18 git-cpan-authorid: GBJK git-cpan-file: authors/id/G/GB/GBJK/FCGI-ProcManager-0.18.tar.gz --- diff --git a/ChangeLog b/ChangeLog index c66ddbd..efdebcf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +0.17 + + * ProcManager.pm: Remove constraint that process can't change pid. + This resolves the daemon exiting after first child dies + if the process id of the daemon has changed since starting. + This commonly happens when a script waits to check for the + socket being available and working before forking and exitting. + It can also happen in a race condition of fork && exit when + the exit is delayed until after the forked child has already + spawned the fastcgi handlers. + 2001-04-23 18:12 James Jurach * ProcManager.pm: SIGHUP handler now issues SIGTERM to children but diff --git a/MANIFEST b/MANIFEST index 9d66c4e..22ab6bc 100644 --- a/MANIFEST +++ b/MANIFEST @@ -8,3 +8,4 @@ README TODO t/procmanager.t t/exporter.t +META.yml Module meta-data (added by MakeMaker) diff --git a/META.yml b/META.yml new file mode 100644 index 0000000..8b65d90 --- /dev/null +++ b/META.yml @@ -0,0 +1,10 @@ +# http://module-build.sourceforge.net/META-spec.html +#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# +name: FCGI-ProcManager +version: 0.18 +version_from: ProcManager.pm +installdirs: site +requires: + +distribution_type: module +generated_by: ExtUtils::MakeMaker version 6.30 diff --git a/ProcManager.pm b/ProcManager.pm index 7bdb537..4608d56 100644 --- a/ProcManager.pm +++ b/ProcManager.pm @@ -13,7 +13,7 @@ use POSIX qw(:signal_h); use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS $Q $SIG_CODEREF); BEGIN { - $VERSION = '0.17'; + $VERSION = '0.18'; @ISA = qw(Exporter); @EXPORT_OK = qw(pm_manage pm_die pm_wait pm_write_pid_file pm_remove_pid_file @@ -206,10 +206,6 @@ sub pm_manage { MANAGING_LOOP: while (1) { - # if the calling process goes away, perform cleanup. - getppid() == 1 and - return $this->pm_die("calling process has died"); - $this->n_processes() > 0 or return $this->pm_die(); @@ -704,6 +700,14 @@ No known bugs, but this does not mean no bugs exist. L. +=head1 MAINTAINER + +Gareth Kirwan + +=head1 AUTHOR + +James E Jurach Jr. + =head1 COPYRIGHT FCGI-ProcManager - A Perl FCGI Process Manager diff --git a/README b/README index 1718396..11ee0f8 100644 --- a/README +++ b/README @@ -50,5 +50,10 @@ and WITHOUT ANY WARRANTIES under the terms of the GNU Lesser General Public License, Version 2.1, a copy of which can be found in the "COPYING" file of this distribution. +Maintainer +------ +Gareth Kirwan +Author +------ James Jurach