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