diff options
author | marco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2009-12-12 14:20:43 +0000 |
---|---|---|
committer | marco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2009-12-12 14:20:43 +0000 |
commit | 6d2de34b984e9b20933311b75b022215f554f4b1 (patch) | |
tree | a6d4957a83e73d36b4589ab647c93235825d0ec7 | |
parent | e2ca3c93a8046c2be8ce3ad6c0b9ad289c288682 (diff) | |
download | fpc-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.inc | 6 |
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 |