summaryrefslogtreecommitdiffstats
path: root/src/memblock.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2004-06-18 17:12:50 +0000
committerLennart Poettering <lennart@poettering.net>2004-06-18 17:12:50 +0000
commit382e7aefd471a4600010a04e6497d4bfd2fd8663 (patch)
treeadd805dc36fdc446c11a46a0e598e8053ebd8c77 /src/memblock.c
parent993d1bce74f4cc5be2bfa69a467aae106e2194ab (diff)
some more work
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@23 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/memblock.c')
-rw-r--r--src/memblock.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/memblock.c b/src/memblock.c
index 6f05918a..067243c5 100644
--- a/src/memblock.c
+++ b/src/memblock.c
@@ -5,7 +5,7 @@
#include "memblock.h"
-unsigned n_blocks = 0;
+unsigned memblock_count = 0, memblock_total = 0;
struct memblock *memblock_new(size_t length) {
struct memblock *b = malloc(sizeof(struct memblock)+length);
@@ -13,7 +13,8 @@ struct memblock *memblock_new(size_t length) {
b->ref = 1;
b->length = length;
b->data = b+1;
- n_blocks++;
+ memblock_count++;
+ memblock_total += length;
return b;
}
@@ -23,7 +24,8 @@ struct memblock *memblock_new_fixed(void *d, size_t length) {
b->ref = 1;
b->length = length;
b->data = d;
- n_blocks++;
+ memblock_count++;
+ memblock_total += length;
return b;
}
@@ -33,7 +35,8 @@ struct memblock *memblock_new_dynamic(void *d, size_t length) {
b->ref = 1;
b->length = length;
b->data = d;
- n_blocks++;
+ memblock_count++;
+ memblock_total += length;
return b;
}
@@ -50,8 +53,11 @@ void memblock_unref(struct memblock*b) {
if (b->ref == 0) {
if (b->type == MEMBLOCK_DYNAMIC)
free(b->data);
+
+ memblock_count--;
+ memblock_total -= b->length;
+
free(b);
- n_blocks--;
}
}