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