1 0.22 2011-08-04 Tomas Doran <bobtfish@bobtfish.net>
2 * Ship a version of FCGI::ProcManager::Constrainted which actually
5 0.21 2011-08-02 Tomas Doran <bobtfish@bobtfish.net>
8 0.20 2011-08-02 Gareth Kirwan <gbjk@cpan.org>
9 * ProcManager::Constrained: Add a new FCGI::ProcManager::Constrainted
10 subclass which will restart workers safely after a certain number of
11 requests, or at certain memory thresholds.
12 * ProcManager: Fix start_delay causing a permanent hang.
14 0.19 2009-07-22 Gareth Kirwan <gbjk@cpan.org>
16 * ProcManager.pm: Add a pm_title option to configure the process title
19 0.18 2007-12-18 James Jurach <muaddib@erf.net>
21 * ProcManager.pm: Remove constraint that parent process cannot die.
25 * ProcManager.pm: Remove constraint that process can't change pid.
26 This resolves the daemon exiting after first child dies
27 if the process id of the daemon has changed since starting.
28 This commonly happens when a script waits to check for the
29 socket being available and working before forking and exitting.
30 It can also happen in a race condition of fork && exit when
31 the exit is delayed until after the forked child has already
32 spawned the fastcgi handlers.
34 2001-04-23 18:12 James Jurach <muaddib@erf.net>
36 * ProcManager.pm: SIGHUP handler now issues SIGTERM to children but
37 then proceeds normally. added documentation blurb about signal
38 handling. we now use POSIX::sigaction() to avoid SA_RESTART during
39 certain regions. added re-usable POSIX::SigAction members to toggle
40 SA_RESTART. added sig_sub() -- necessary to pass name to
41 POSIX::SigAction creation.
43 * README: added small blurb to consult FCGI::ProcManager
47 * t/procmanager.t: fixed pm_manage() test.
49 2001-03-13 18:12 James Jurach <muaddib@erf.net>
51 * ProcManager.pm: removed check for FCGI_ROLE. now more
52 transparent when undesired.
54 * ProcManager.pm: detect when no FastCGI environment exists.
56 * ProcManager.pm: only warn and sleep -- do not abort on fork
59 * ProcManager.pm: now, we give notification to which processes we
62 2001-02-09 10:16 James Jurach <muaddib@erf.net>
64 * t/: exporter.t, procmanager.t: made it easier to manage
65 sample_request_loop() for testing.
67 * ProcManager.pm: modified some error messages. added immediate
68 notify of manager signal.
70 * ProcManager.pm: added more documentation. renamed
71 pm_reap_server() to pm_wait(). fixed problem when ! MANAGER_PID
72 that caused server to die immediately we now delete list of child
73 PIDs from each child. added mechanism to pm_exit() to send a
74 SIGKILL to any remaining children.
76 2001-01-31 01:13 James Jurach <muaddib@erf.net>
78 * README: more documentation
80 * ProcManager.pm: re-organized method layout. separated manager
81 vs. server vs. common moved more intialization into managing_init()
82 and handling_init() created pm_die() to be called when manager
83 should die. cleaned up error messages and notifications.
85 * t/: exporter.t, procmanager.t: revised test messages
87 2001-01-30 16:35 James Jurach <muaddib@erf.net>
89 * t/: exporter.t, procmanager.t: removed call to pm_state()
91 * ProcManager.pm: removed sleep() call after testing
92 signal-during-fork-loop
94 2001-01-30 12:49 James Jurach <muaddib@erf.net>
96 * ProcManager.pm: Cleaned up pm_manage(). removed signal
97 registration routines. replaced by direct %SIG access. there is
98 now a manager signal handler and a handler signal handler. added
99 checks to die when getppid() changes.
101 2001-01-20 02:06 James Jurach <muaddib@erf.net>
103 * MANIFEST: removed Changes from MANIFEST
105 2001-01-13 00:44 James Jurach <muaddib@erf.net>
107 * t/procmanager.t: corrected various recent method name changes.
108 removed calls to want_to_die(). added request loop hooks to
109 pm_pre_dispatch(), pm_post_dispatch(). renamed sample_handler() to
110 sample_request_loop().
112 * ProcManager.pm: renamed request loop hooks to pm_pre_dispatch(),
113 pm_post_dispatch(). when pm_manage() is called with
114 n_processes==0, return through goto. renamed pre_manage_init() to
115 managing_init(). renamed post_manage_init() to handling_init().
116 added received_signal() to remember that a signal was received.
117 signal handler simpler: now only notes signal and propagates
120 * t/exporter.t: this uses non-OO calling mode.
122 * MANIFEST: added t/exporter.t.
124 * Changes: ChangeLog is where per-file changes are listed.
126 2000-12-22 05:58 James Jurach <muaddib@erf.net>
128 * ProcManager.pm: corrected logic error in self_or_default().
129 changed all occurances of write_pid_file() to pm_write_pid_file().
130 changed all occurances of remove_pid_file() to
131 pm_remove_pid_file().
133 2000-12-14 17:54 James Jurach <muaddib@erf.net>
135 * ProcManager.pm: corrected state() -> pm_state() method call.
137 2000-12-10 17:25 James Jurach <muaddib@erf.net>
139 * ProcManager.pm: corrected some method renaming issues.
141 2000-12-09 19:48 James Jurach <muaddib@erf.net>
143 * t/procmanager.t: effected the changes to these subroutine names.
145 * ProcManager.pm: made this module OO/Exporter hybrid. removed
146 treatment of $ENV{PROCMANAGER_PROCESSES} from constructor. changed
147 several subroutine names.
149 2000-12-05 22:23 James Jurach <muaddib@erf.net>
151 * ProcManager.pm: made SIGHUP's do what SIGTERM's do
153 2000-11-20 James Jurach <muaddib@erf.net>
155 * Released first public version.