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]

Reply via email to