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