Changeset 573

Show
Ignore:
Timestamp:
07/02/07 21:56:27 (2 years ago)
Author:
bradfitz
Message:
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/api/perl/ChangeLog

    r568 r573  
     1        * work around a Perl segfault (Matthieu PATOU <mp@oxado.com>) 
     2          see http://lists.danga.com/pipermail/memcached/2007-June/004511.html 
     3 
    142007-06-19: version 1.23 
    25 
  • trunk/api/perl/lib/Cache/Memcached.pm

    r568 r573  
    568568            while (1) { 
    569569                my $bucket = $hv % $bcount; 
    570                 $sock = $buck2sock[$bucket] ||= $self->sock_to_host($self->{buckets}[ $bucket ]) 
    571                     and last; 
     570 
     571                # this segfaults perl 5.8.4 (and others?) if sock_to_host returns undef... wtf? 
     572                #$sock = $buck2sock[$bucket] ||= $self->sock_to_host($self->{buckets}[ $bucket ]) 
     573                #    and last; 
     574 
     575                # but this variant doesn't crash: 
     576                $sock = $buck2sock[$bucket] || $self->sock_to_host($self->{buckets}[ $bucket ]); 
     577                if ($sock) { 
     578                    $buck2sock[$bucket] = $sock; 
     579                    last; 
     580                } 
     581 
    572582                next KEY if $tries++ >= 20; 
    573583                $hv += _hashfunc($tries . $real_key);