my $Bcb2=$CObject->{"pin"}{tohex(eval($Object->{"FileOffset"})&~0xFFF)};
my $BObject2=BObject $Bcb2 if $Bcb2;
- if ($BObject2 && $BObject2->{"CcPinMappedData_double"}
- && eval($BObject2->{"CcPinMappedData_double"})==eval($Object->{"FileOffset"})) { # unaligned yet
- my $BmapBuffer=eval($BmapObject->{"Buffer"})+(eval($Object->{"FileOffset"})&~0xFFF);
- warn "CcPinMappedData-double cludge non-matching new Bcb $Bcb != old Bcb ".$BObject2->{"Bcb"}
- if $Bcb ne $BObject2->{"Bcb"};
- warn "CcPinMappedData-double cludge non-matching Buffer new Bcb $Bcb Buffer $BmapBuffer"
- ." != old Bcb ".$BObject2->{"Bcb"}." Buffer ".$BObject2->{"Buffer"}
- if eval($BmapBuffer)!=eval($BObject2->{"Buffer"});
- return;
- }
-
- # It appears as this cludge is not needed:
-# $Object->{"CcPinMappedData_double"}=$Object->{"FileOffset"}; # unaligned yet
pin_new_leave $Bcb,$Buffer;
# print STDERR "$.:".Dumper($Object);
my($Bcb,$Lsn)=@_;
return if !(my $BObject=BObject $Bcb);
- delete $BObject->{"CcPinMappedData_double"};
}
sub CcRemapBcb($)
my($Bcb)=@_;
return if !(my $BObject=BObject $Bcb);
- delete $BObject->{"CcPinMappedData_double"};
return if --$BObject->{"ref_count"};
return if !(my $CObject=CObject $BObject->{"SharedCacheMap"});
if ($BObject->{"type"} eq "map") {