|
11 | 11 | * Portions Copyright (c) 1994, Regents of the University of California
|
12 | 12 | *
|
13 | 13 | * IDENTIFICATION
|
14 |
| - * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/aset.c,v 1.35 2000/12/05 23:40:36 tgl Exp $ |
| 14 | + * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/aset.c,v 1.36 2001/01/06 21:59:39 tgl Exp $ |
15 | 15 | *
|
16 | 16 | * NOTE:
|
17 | 17 | * This is a new (Feb. 05, 1999) implementation of the allocation set
|
@@ -324,7 +324,10 @@ AllocSetContextCreate(MemoryContext parent,
|
324 | 324 |
|
325 | 325 | block = (AllocBlock) malloc(blksize);
|
326 | 326 | if (block == NULL)
|
| 327 | + { |
| 328 | + MemoryContextStats(TopMemoryContext); |
327 | 329 | elog(ERROR, "Memory exhausted in AllocSetContextCreate()");
|
| 330 | + } |
328 | 331 | block->aset = context;
|
329 | 332 | block->freeptr = ((char *) block) + ALLOC_BLOCKHDRSZ;
|
330 | 333 | block->endptr = ((char *) block) + blksize;
|
@@ -482,7 +485,10 @@ AllocSetAlloc(MemoryContext context, Size size)
|
482 | 485 | blksize = chunk_size + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ;
|
483 | 486 | block = (AllocBlock) malloc(blksize);
|
484 | 487 | if (block == NULL)
|
| 488 | + { |
| 489 | + MemoryContextStats(TopMemoryContext); |
485 | 490 | elog(ERROR, "Memory exhausted in AllocSetAlloc()");
|
| 491 | + } |
486 | 492 | block->aset = set;
|
487 | 493 | block->freeptr = block->endptr = ((char *) block) + blksize;
|
488 | 494 |
|
@@ -673,7 +679,10 @@ AllocSetAlloc(MemoryContext context, Size size)
|
673 | 679 | }
|
674 | 680 |
|
675 | 681 | if (block == NULL)
|
| 682 | + { |
| 683 | + MemoryContextStats(TopMemoryContext); |
676 | 684 | elog(ERROR, "Memory exhausted in AllocSetAlloc()");
|
| 685 | + } |
677 | 686 |
|
678 | 687 | block->aset = set;
|
679 | 688 | block->freeptr = ((char *) block) + ALLOC_BLOCKHDRSZ;
|
@@ -843,7 +852,10 @@ AllocSetRealloc(MemoryContext context, void *pointer, Size size)
|
843 | 852 | blksize = chksize + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ;
|
844 | 853 | block = (AllocBlock) realloc(block, blksize);
|
845 | 854 | if (block == NULL)
|
| 855 | + { |
| 856 | + MemoryContextStats(TopMemoryContext); |
846 | 857 | elog(ERROR, "Memory exhausted in AllocSetReAlloc()");
|
| 858 | + } |
847 | 859 | block->freeptr = block->endptr = ((char *) block) + blksize;
|
848 | 860 |
|
849 | 861 | /* Update pointers since block has likely been moved */
|
|
0 commit comments