summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2009-12-12 14:20:43 +0000
committermarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2009-12-12 14:20:43 +0000
commit6d2de34b984e9b20933311b75b022215f554f4b1 (patch)
treea6d4957a83e73d36b4589ab647c93235825d0ec7
parente2ca3c93a8046c2be8ce3ad6c0b9ad289c288682 (diff)
downloadfpc-6d2de34b984e9b20933311b75b022215f554f4b1.tar.gz
--- Merging r14424 into '.':
U rtl/inc/heap.inc --- Merging r14424 into 'packages/unzip/src/unzip51g.pp': G packages/unzip/src/unzip51g.pp --- Merging r14424 into '.': G . git-svn-id: http://svn.freepascal.org/svn/fpc/tags/release_2_4_0@14426 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--rtl/inc/heap.inc6
1 files changed, 5 insertions, 1 deletions
diff --git a/rtl/inc/heap.inc b/rtl/inc/heap.inc
index f8cc02e3be..cd3402478a 100644
--- a/rtl/inc/heap.inc
+++ b/rtl/inc/heap.inc
@@ -1251,6 +1251,7 @@ var
oldsize,
currsize : ptruint;
pcurr : pmemchunk_var;
+ loc_freelists : pfreelists;
begin
SysTryResizeMem := false;
@@ -1297,7 +1298,10 @@ begin
end;
{ get pointer to block }
+ loc_freelists := @freelists;
pcurr := pmemchunk_var(pointer(p)-sizeof(tmemchunk_var_hdr));
+ if pcurr^.freelists <> loc_freelists then
+ exit;
oldsize := currsize;
{ do we need to allocate more memory ? }
@@ -1315,7 +1319,7 @@ begin
if currsize>size then
currsize := split_block(pcurr, size);
- with pcurr^.freelists^.internal_status do
+ with loc_freelists^.internal_status do
begin
inc(currheapused, currsize-oldsize);
if currheapused > maxheapused then