1 0.27 2017-02-27 Andrew Rodland <arodland@cpan.org>
2 * 2+ years seems like long enough for a trial release.
3 * No changes since 0.26_02.
5 0.26_02 2014-11-27 Andrew Rodland <arodland@cpan.org>
6 * Try again, with the OS name spelled properly.
8 0.26_01 2014-11-26 Andrew Rodland <arodland@cpan.org>
9 * Trial version of Win32 support
11 0.25 2014-11-20 Andrew Rodland <arodland@cpan.org>
12 * Notice errors writing out the PID file and abort.
13 * Make sure that children get independent random numbers by calling
16 0.24 2011-10-04 Tomas Doran <bobtfish@bobtfish.net>
17 * Further fix to pm_wait routine to find the correct PID and remove it
18 (fixing logical error introduced in the last release), noted by Vadim
20 * Document (somewhat) FCGI::ProcManager::Constrainted
22 0.23 2011-09-27 Tomas Doran <bobtfish@bobtfish.net>
23 * Fix pm_wait routine to exit without a warning
24 * Fix pm_wait to correctly detect child processes which have died.
25 * Fix to return SIGCHLD handler to it's default state in the
26 pm_manage loop so that loading code which sets SIGCHLD to ignore
27 won't interfere with normal operation.
28 * Add repository metadata.
30 0.22 2011-08-04 Tomas Doran <bobtfish@bobtfish.net>
31 * Ship a version of FCGI::ProcManager::Constrainted which actually
34 0.21 2011-08-02 Tomas Doran <bobtfish@bobtfish.net>
35 * Ship a working dist.
37 0.20 2011-08-02 Gareth Kirwan <gbjk@cpan.org>
38 * ProcManager::Constrained: Add a new FCGI::ProcManager::Constrainted
39 subclass which will restart workers safely after a certain number of
40 requests, or at certain memory thresholds.
41 * ProcManager: Fix start_delay causing a permanent hang.
43 0.19 2009-07-22 Gareth Kirwan <gbjk@cpan.org>
45 * ProcManager.pm: Add a pm_title option to configure the process title
48 0.18 2007-12-18 James Jurach <muaddib@erf.net>
50 * ProcManager.pm: Remove constraint that parent process cannot die.
54 * ProcManager.pm: Remove constraint that process can't change pid.
55 This resolves the daemon exiting after first child dies
56 if the process id of the daemon has changed since starting.
57 This commonly happens when a script waits to check for the
58 socket being available and working before forking and exitting.
59 It can also happen in a race condition of fork && exit when
60 the exit is delayed until after the forked child has already
61 spawned the fastcgi handlers.
63 2001-04-23 18:12 James Jurach <muaddib@erf.net>
65 * ProcManager.pm: SIGHUP handler now issues SIGTERM to children but
66 then proceeds normally. added documentation blurb about signal
67 handling. we now use POSIX::sigaction() to avoid SA_RESTART during
68 certain regions. added re-usable POSIX::SigAction members to toggle
69 SA_RESTART. added sig_sub() -- necessary to pass name to
70 POSIX::SigAction creation.
72 * README: added small blurb to consult FCGI::ProcManager
76 * t/procmanager.t: fixed pm_manage() test.
78 2001-03-13 18:12 James Jurach <muaddib@erf.net>
80 * ProcManager.pm: removed check for FCGI_ROLE. now more
81 transparent when undesired.
83 * ProcManager.pm: detect when no FastCGI environment exists.
85 * ProcManager.pm: only warn and sleep -- do not abort on fork
88 * ProcManager.pm: now, we give notification to which processes we
91 2001-02-09 10:16 James Jurach <muaddib@erf.net>
93 * t/: exporter.t, procmanager.t: made it easier to manage
94 sample_request_loop() for testing.
96 * ProcManager.pm: modified some error messages. added immediate
97 notify of manager signal.
99 * ProcManager.pm: added more documentation. renamed
100 pm_reap_server() to pm_wait(). fixed problem when ! MANAGER_PID
101 that caused server to die immediately we now delete list of child
102 PIDs from each child. added mechanism to pm_exit() to send a
103 SIGKILL to any remaining children.
105 2001-01-31 01:13 James Jurach <muaddib@erf.net>
107 * README: more documentation
109 * ProcManager.pm: re-organized method layout. separated manager
110 vs. server vs. common moved more intialization into managing_init()
111 and handling_init() created pm_die() to be called when manager
112 should die. cleaned up error messages and notifications.
114 * t/: exporter.t, procmanager.t: revised test messages
116 2001-01-30 16:35 James Jurach <muaddib@erf.net>
118 * t/: exporter.t, procmanager.t: removed call to pm_state()
120 * ProcManager.pm: removed sleep() call after testing
121 signal-during-fork-loop
123 2001-01-30 12:49 James Jurach <muaddib@erf.net>
125 * ProcManager.pm: Cleaned up pm_manage(). removed signal
126 registration routines. replaced by direct %SIG access. there is
127 now a manager signal handler and a handler signal handler. added
128 checks to die when getppid() changes.
130 2001-01-20 02:06 James Jurach <muaddib@erf.net>
132 * MANIFEST: removed Changes from MANIFEST
134 2001-01-13 00:44 James Jurach <muaddib@erf.net>
136 * t/procmanager.t: corrected various recent method name changes.
137 removed calls to want_to_die(). added request loop hooks to
138 pm_pre_dispatch(), pm_post_dispatch(). renamed sample_handler() to
139 sample_request_loop().
141 * ProcManager.pm: renamed request loop hooks to pm_pre_dispatch(),
142 pm_post_dispatch(). when pm_manage() is called with
143 n_processes==0, return through goto. renamed pre_manage_init() to
144 managing_init(). renamed post_manage_init() to handling_init().
145 added received_signal() to remember that a signal was received.
146 signal handler simpler: now only notes signal and propagates
149 * t/exporter.t: this uses non-OO calling mode.
151 * MANIFEST: added t/exporter.t.
153 * Changes: ChangeLog is where per-file changes are listed.
155 2000-12-22 05:58 James Jurach <muaddib@erf.net>
157 * ProcManager.pm: corrected logic error in self_or_default().
158 changed all occurances of write_pid_file() to pm_write_pid_file().
159 changed all occurances of remove_pid_file() to
160 pm_remove_pid_file().
162 2000-12-14 17:54 James Jurach <muaddib@erf.net>
164 * ProcManager.pm: corrected state() -> pm_state() method call.
166 2000-12-10 17:25 James Jurach <muaddib@erf.net>
168 * ProcManager.pm: corrected some method renaming issues.
170 2000-12-09 19:48 James Jurach <muaddib@erf.net>
172 * t/procmanager.t: effected the changes to these subroutine names.
174 * ProcManager.pm: made this module OO/Exporter hybrid. removed
175 treatment of $ENV{PROCMANAGER_PROCESSES} from constructor. changed
176 several subroutine names.
178 2000-12-05 22:23 James Jurach <muaddib@erf.net>
180 * ProcManager.pm: made SIGHUP's do what SIGTERM's do
182 2000-11-20 James Jurach <muaddib@erf.net>
184 * Released first public version.