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