Commit | Line | Data |
63976743 |
1 | * Notice errors writing out the PID file and abort. |
b9a630da |
2 | * Make sure that children get independent random numbers by calling |
3 | srand() after fork. |
63976743 |
4 | |
5ef2d8bb |
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 | |
a7ce9ea3 |
11 | 0.23 2011-09-27 Tomas Doran <bobtfish@bobtfish.net> |
fca7461e |
12 | * Fix pm_wait routine to exit without a warning |
13 | * Fix pm_wait to correctly detect child processes which have died. |
f969c066 |
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 |
73e3ae9d |
16 | won't interfere with normal operation. |
17 | * Add repository metadata. |
fca7461e |
18 | |
24cf08e5 |
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 | |
81d9a31b |
23 | 0.21 2011-08-02 Tomas Doran <bobtfish@bobtfish.net> |
24 | * Ship a working dist. |
25 | |
8f6956a6 |
26 | 0.20 2011-08-02 Gareth Kirwan <gbjk@cpan.org> |
3347bf0d |
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. |
69817330 |
30 | * ProcManager: Fix start_delay causing a permanent hang. |
3347bf0d |
31 | |
356c720b |
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 | |
9d643399 |
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 | |
50f238cd |
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 | |
c2bbadb3 |
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 | |
518709ed |
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. |