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