Ganz übler mod_fastcgi-Hack als Workaround um die error-500-Probleme. Gibt den CGIs einfach 2 Sekunden Zeit, Ihre Arbeit fertig zu stellen.
Bernd Wurst

Bernd Wurst commited on 2008-04-04 09:59:12
Zeige 6 geänderte Dateien mit 119 Einfügungen und 0 Löschungen.

... ...
@@ -0,0 +1,21 @@
1
+# ChangeLog for www-apache/mod_fastcgi
2
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
3
+# $Header: /var/cvsroot/gentoo-x86/www-apache/mod_fastcgi/ChangeLog,v 1.3 2008/03/17 20:01:32 maekke Exp $
4
+
5
+  17 Mar 2008; Markus Meier <maekke@gentoo.org> mod_fastcgi-2.4.6.ebuild:
6
+  amd64/x86 stable, bug #213701
7
+
8
+*mod_fastcgi-2.4.6 (27 Jan 2008)
9
+
10
+  27 Jan 2008; Benedikt Böhm <hollow@gentoo.org> files/20_mod_fastcgi.conf,
11
+  metadata.xml, mod_fastcgi-2.4.4_pre20070916.ebuild,
12
+  +mod_fastcgi-2.4.6.ebuild:
13
+  version bump; update metadata; cleanup
14
+
15
+*mod_fastcgi-2.4.4_pre20070916 (16 Sep 2007)
16
+
17
+  16 Sep 2007; Benedikt Böhm <hollow@gentoo.org>
18
+  +files/20_mod_fastcgi.conf, +metadata.xml,
19
+  +mod_fastcgi-2.4.4_pre20070916.ebuild:
20
+  readd mod_fastcgi; #133563
21
+
... ...
@@ -0,0 +1,6 @@
1
+AUX 20_mod_fastcgi.conf 148 RMD160 134e40c98e233dbc304048fe356c859300d3b0c1 SHA1 c5af515eae87e9e4b88d3980d9c4edaa71fec36a SHA256 f966884ad8c3aba759ef25b47356529f97a5caf9b111b53f334dcb55512c193e
2
+AUX fcgi_pm.c.diff 1327 RMD160 867cc4512bc91fa036b2c44171e34c61e2a7ae32 SHA1 697bbfae16cbeacb5f681da6cdcee1021ba376ff SHA256 8f0789b3982ff5f51eb9b26468048e1740d2b8b5db10e88f88a61aeac9d5e5b6
3
+DIST mod_fastcgi-2.4.6.tar.gz 100230 RMD160 95caee4847cb725aab6c7d8bf2db9dee49d46eec SHA1 69c56548bf97040a61903b32679fe3e3b7d3c2d4 SHA256 a5a887eecc8fe13e4cb1cab4d140188a3d2b5e6f337f8a1cce88ca441ddbe689
4
+EBUILD mod_fastcgi-2.4.6.ebuild 744 RMD160 d9ef69b1d0cbafc43a25e399743bf7baef12a71f SHA1 56e7a87d5fc76445730b742e385bfabe577652c8 SHA256 a7c4e37a924687726c8ca411beb1c22f13c86439235a52160d9cf68ce295e287
5
+MISC ChangeLog 772 RMD160 2839082683e5c47c8f5f68ddfb3fa53c20cad47f SHA1 4d855948cb20a0e23fcdc63a834f45ee122ac87e SHA256 cdce0c950da2b7fe34e9a158d948e91c2ad74cf41de7f76522f7ed59bde25ef0
6
+MISC metadata.xml 160 RMD160 a0f6e133e170b7477018d8584c20e8723f6914fa SHA1 a3b9b520ec43ee1f9b1c7b5c5b8745bf84454c03 SHA256 3c312146c4cb5b912d6f56292242ce3a85c629ca98ee7ef0a84ca575708b44fe
... ...
@@ -0,0 +1,6 @@
1
+<IfDefine FASTCGI>
2
+LoadModule fastcgi_module modules/mod_fastcgi.so
3
+AddHandler fastcgi-script fcg fcgi fpl
4
+</IfDefine>
5
+
6
+# vim: ts=4 filetype=apache
... ...
@@ -0,0 +1,50 @@
1
+--- fcgi_pm.c.orig	2008-04-04 09:34:20.000000000 +0200
2
++++ fcgi_pm.c	2008-04-04 09:37:58.000000000 +0200
3
+@@ -128,8 +128,26 @@
4
+         int numChildren = (s->directive == APP_CLASS_DYNAMIC)
5
+             ? dynamicMaxClassProcs
6
+             : s->numProcesses;
7
++
8
++        /* Send TERM to all processes */
9
++        for (i = 0; i < numChildren; i++, proc++) 
10
++        {
11
++            if (proc->state == FCGI_RUNNING_STATE) 
12
++            {
13
++                fcgi_kill(proc, SIGTERM);
14
++            }
15
++        }
16
+         
17
++        s = s->next;
18
++    }
19
++ 
20
+ #ifndef WIN32
21
++    /* sleep two seconds to let the children terminate themselves */
22
++    usleep(2000);
23
++    s = fcgi_servers;
24
++    
25
++    while (s) 
26
++    {
27
+         if (s->socket_path != NULL && s->directive != APP_CLASS_EXTERNAL) 
28
+         {
29
+             /* Remove the socket file */
30
+@@ -140,19 +158,9 @@
31
+                     (s->directive == APP_CLASS_DYNAMIC) ? " (dynamic)" : "", s->fs_path);
32
+             }
33
+         }
34
+-#endif
35
+-
36
+-        /* Send TERM to all processes */
37
+-        for (i = 0; i < numChildren; i++, proc++) 
38
+-        {
39
+-            if (proc->state == FCGI_RUNNING_STATE) 
40
+-            {
41
+-                fcgi_kill(proc, SIGTERM);
42
+-            }
43
+-        }
44
+-        
45
+         s = s->next;
46
+     }
47
++#endif
48
+ 
49
+ #if defined(WIN32) && (WIN32_SHUTDOWN_GRACEFUL_WAIT > 0)
50
+ 
... ...
@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
3
+<pkgmetadata>
4
+	<herd>apache</herd>
5
+</pkgmetadata>
... ...
@@ -0,0 +1,31 @@
1
+# Copyright 1999-2008 Gentoo Foundation
2
+# Distributed under the terms of the GNU General Public License v2
3
+# $Header: /var/cvsroot/gentoo-x86/www-apache/mod_fastcgi/mod_fastcgi-2.4.6.ebuild,v 1.2 2008/03/17 20:01:32 maekke Exp $
4
+
5
+inherit apache-module eutils
6
+
7
+DESCRIPTION="FastCGI is a open extension to CGI without the limitations of server specific APIs."
8
+HOMEPAGE="http://fastcgi.com/"
9
+SRC_URI="http://www.fastcgi.com/dist/${P}.tar.gz"
10
+
11
+KEYWORDS="amd64 x86"
12
+SLOT="0"
13
+LICENSE="FastCGI"
14
+
15
+APXS2_ARGS="-c mod_fastcgi.c fcgi*.c"
16
+APACHE2_MOD_CONF="20_${PN}"
17
+APACHE2_MOD_DEFINE="FASTCGI"
18
+
19
+DOCFILES="CHANGES README docs/LICENSE.TERMS docs/mod_fastcgi.html"
20
+
21
+need_apache
22
+
23
+
24
+src_unpack() {
25
+	unpack ${A}
26
+	cd ${S}
27
+	epatch ${FILESDIR}/fcgi_pm.c.diff
28
+
29
+}
30
+
31
+
0 32