1 2010-01-14 Ulrich Drepper <drepper@redhat.com>
4 * malloc/malloc.c (malloc_info): Initialize malloc if not already
5 done. Handle empty bin lists.
8 malloc/malloc.c | 41 ++++++++++++++++++++++++-----------------
9 1 file changed, 24 insertions(+), 17 deletions(-)
13 @@ -6372,16 +6372,19 @@
15 mbinptr bin = bin_at (ar_ptr, 1);
16 struct malloc_chunk *r = bin->fd;
20 - ++sizes[NFASTBINS].count;
21 - sizes[NFASTBINS].total += r->size;
22 - sizes[NFASTBINS].from = MIN (sizes[NFASTBINS].from, r->size);
23 - sizes[NFASTBINS].to = MAX (sizes[NFASTBINS].to, r->size);
27 + ++sizes[NFASTBINS].count;
28 + sizes[NFASTBINS].total += r->size;
29 + sizes[NFASTBINS].from = MIN (sizes[NFASTBINS].from, r->size);
30 + sizes[NFASTBINS].to = MAX (sizes[NFASTBINS].to, r->size);
33 + nblocks += sizes[NFASTBINS].count;
34 + avail += sizes[NFASTBINS].total;
36 - nblocks += sizes[NFASTBINS].count;
37 - avail += sizes[NFASTBINS].total;
39 for (size_t i = 2; i < NBINS; ++i)
41 @@ -6391,17 +6394,18 @@
42 sizes[NFASTBINS - 1 + i].to = sizes[NFASTBINS - 1 + i].total
43 = sizes[NFASTBINS - 1 + i].count = 0;
47 - ++sizes[NFASTBINS - 1 + i].count;
48 - sizes[NFASTBINS - 1 + i].total += r->size;
49 - sizes[NFASTBINS - 1 + i].from = MIN (sizes[NFASTBINS - 1 + i].from,
53 + ++sizes[NFASTBINS - 1 + i].count;
54 + sizes[NFASTBINS - 1 + i].total += r->size;
55 + sizes[NFASTBINS - 1 + i].from
56 + = MIN (sizes[NFASTBINS - 1 + i].from, r->size);
57 + sizes[NFASTBINS - 1 + i].to = MAX (sizes[NFASTBINS - 1 + i].to,
59 - sizes[NFASTBINS - 1 + i].to = MAX (sizes[NFASTBINS - 1 + i].to,
67 if (sizes[NFASTBINS - 1 + i].count == 0)
68 sizes[NFASTBINS - 1 + i].from = 0;
70 fputs ("</heap>\n", fp);
73 + if(__malloc_initialized < 0)
76 fputs ("<malloc version=\"1\">\n", fp);
78 /* Iterate over all arenas currently in use. */