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