You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@spamassassin.apache.org by Justin Mason <jm...@jmason.org> on 2006/05/16 19:36:39 UTC
Re: SA 99,9% CPU and freeze
Mark Martinec writes:
> > > [1353] warn: dns: sendto() failed: at
> > > /usr/lib/perl5/site_perl/5.8.3/Mail/SpamAssassin/DnsResolver.pm line 340.
>
> The error report in sub bgsend does not show the failure reason
> because it mistakenly reports $@ instead of $!, as far as I can tell.
> Also, send() returns undef on error according to docs,
> a false return does not necessarily indicate an error.
>
> Looks like the code should be changed to:
>
> --- DnsResolver.pm~ Fri Mar 10 20:29:55 2006
> +++ DnsResolver.pm Tue May 16 18:41:12 2006
> @@ -337,6 +337,6 @@
> my $data = $pkt->data;
> $self->connect_sock_if_reqd();
> - if (!$self->{sock}->send ($pkt->data, 0)) {
> - warn "dns: sendto() failed: $@";
> + if (!defined($self->{sock}->send ($pkt->data, 0))) {
> + warn "dns: sendto() failed: $!";
> return;
> }
>
>
> Btw, perhaps calling dbg() instead of warn would less likely
> go by unnoticed?
hi Mark --
thanks for that fix; it's now in trunk, and as bug 4901 for b3_1_0.
but I don't get that last point -- warn() should always be noiser than
dbg(), hence less likely to go by unnoticed....
--j.