OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src Date: 08-Nov-2006 09:42:40
Branch: HEAD Handle: 2006110808423901
Added files:
openpkg-src/spamassassin
spamassassin.patch
Modified files:
openpkg-src/spamassassin
spamassassin.spec
Log:
apply a vendor bugfix: spamd died unexpectedly
Summary:
Revision Changes Path
1.6 +44 -0 openpkg-src/spamassassin/spamassassin.patch
1.80 +3 -1 openpkg-src/spamassassin/spamassassin.spec
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/spamassassin/spamassassin.patch
============================================================================
$ cvs diff -u -r0 -r1.6 spamassassin.patch
--- /dev/null 2006-11-08 09:41:09 +0100
+++ spamassassin.patch 2006-11-08 09:42:40 +0100
@@ -0,0 +1,44 @@
+vendor bugfix: spamd died unexpectedly
+http://issues.apache.org/SpamAssassin/show_bug.cgi?id=4594
+
+Index: lib/Mail/SpamAssassin/SpamdForkScaling.pm
+--- lib/Mail/SpamAssassin/SpamdForkScaling.pm.orig 2006-10-04 16:01:16
+0200
++++ lib/Mail/SpamAssassin/SpamdForkScaling.pm 2006-11-08 09:38:44
+0100
+@@ -426,7 +426,13 @@
+ dbg("prefork: ordered $kid to accept");
+
+ # now wait for it to say it's done that
+- return $self->wait_for_child_to_accept($sock);
++ my $ret = $self->wait_for_child_to_accept($kid, $sock);
++ if ($ret) {
++ return $ret;
++ } else {
++ # retry with another child
++ return $self->order_idle_child_to_accept();
++ }
+
+ }
+ else {
+@@ -436,7 +442,7 @@
+ }
+
+ sub wait_for_child_to_accept {
+- my ($self, $sock) = @_;
++ my ($self, $kid, $sock) = @_;
+
+ while (1) {
+ my $state = $self->read_one_message_from_child_socket($sock);
+@@ -447,7 +453,12 @@
+ return undef;
+ }
+ else {
+- die "prefork: ordered child to accept, but child reported state
'$state'";
++ warn "prefork: ordered child $kid to accept, but they reported state
'$state', killing rogue";
++ $self->child_error_kill($kid, $sock);
++ $self->adapt_num_children();
++ sleep 1;
++
++ return undef;
+ }
+ }
+ }
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/spamassassin/spamassassin.spec
============================================================================
$ cvs diff -u -r1.79 -r1.80 spamassassin.spec
--- openpkg-src/spamassassin/spamassassin.spec 13 Oct 2006 17:34:19
-0000 1.79
+++ openpkg-src/spamassassin/spamassassin.spec 8 Nov 2006 08:42:40
-0000 1.80
@@ -38,7 +38,7 @@
Group: Mail
License: ASF
Version: %{V_here}
-Release: 20061013
+Release: 20061108
# package options
%option with_fsl yes
@@ -48,6 +48,7 @@
Source1: rc.spamassassin
Source2: local.cf
Source3: fsl.spamassassin
+Patch0: spamassassin.patch
# build information
Prefix: %{l_prefix}
@@ -81,6 +82,7 @@
%prep
%setup -q -n Mail-SpamAssassin-%{V_sdir}
+ %patch -p0
%build
# configure package
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [email protected]