mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
Fix repairing of memusage trace files.
This commit is contained in:
@@ -1,5 +1,10 @@
|
|||||||
2009-10-29 Ulrich Drepper <drepper@redhat.com>
|
2009-10-29 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
[BZ #10717]
|
||||||
|
* malloc/memusagestat.c (main): Fix repairing of trace files. We also
|
||||||
|
have to compute maxsize_total, we have to update the variables, and
|
||||||
|
the also_total handling must happen after the repair.
|
||||||
|
|
||||||
[BZ #10742]
|
[BZ #10742]
|
||||||
* nscd/dbg_log.c (dbg_log): Print timestamp before the message text.
|
* nscd/dbg_log.c (dbg_log): Print timestamp before the message text.
|
||||||
Based on patch by Jeffrey Bastian <jbastian@redhat.com>.
|
Based on patch by Jeffrey Bastian <jbastian@redhat.com>.
|
||||||
|
@@ -191,13 +191,6 @@ main (int argc, char *argv[])
|
|||||||
maxsize_heap = headent[1].heap;
|
maxsize_heap = headent[1].heap;
|
||||||
maxsize_stack = headent[1].stack;
|
maxsize_stack = headent[1].stack;
|
||||||
maxsize_total = headent[0].stack;
|
maxsize_total = headent[0].stack;
|
||||||
if (also_total)
|
|
||||||
{
|
|
||||||
/* We use one scale and since we also draw the total amount of
|
|
||||||
memory used we have to adapt the maximum. */
|
|
||||||
maxsize_heap = maxsize_total;
|
|
||||||
maxsize_stack = maxsize_total;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (maxsize_heap == 0 && maxsize_stack == 0)
|
if (maxsize_heap == 0 && maxsize_stack == 0)
|
||||||
{
|
{
|
||||||
@@ -210,18 +203,31 @@ main (int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
if (read (fd, &next, sizeof (next)) == 0)
|
if (read (fd, &next, sizeof (next)) == 0)
|
||||||
break;
|
break;
|
||||||
if (next.heap > headent[1].heap)
|
if (next.heap > maxsize_heap)
|
||||||
headent[1].heap = next.heap;
|
maxsize_heap = next.heap;
|
||||||
if (next.stack > headent[1].stack)
|
if (next.stack > maxsize_stack)
|
||||||
headent[1].stack = next.stack;
|
maxsize_stack = next.stack;
|
||||||
|
if (maxsize_heap + maxsize_stack > maxsize_total)
|
||||||
|
maxsize_total = maxsize_heap + maxsize_stack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
headent[0].stack = maxsize_total;
|
||||||
|
headent[1].heap = maxsize_heap;
|
||||||
|
headent[1].stack = maxsize_stack;
|
||||||
headent[1].time_low = next.time_low;
|
headent[1].time_low = next.time_low;
|
||||||
headent[1].time_high = next.time_high;
|
headent[1].time_high = next.time_high;
|
||||||
|
|
||||||
/* Write the computed values in the file. */
|
/* Write the computed values in the file. */
|
||||||
lseek (fd, sizeof (struct entry), SEEK_SET);
|
lseek (fd, 0, SEEK_SET);
|
||||||
write (fd, &headent[1], sizeof (struct entry));
|
write (fd, headent, 2 * sizeof (struct entry));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (also_total)
|
||||||
|
{
|
||||||
|
/* We use one scale and since we also draw the total amount of
|
||||||
|
memory used we have to adapt the maximum. */
|
||||||
|
maxsize_heap = maxsize_total;
|
||||||
|
maxsize_stack = maxsize_total;
|
||||||
}
|
}
|
||||||
|
|
||||||
start_time = ((uint64_t) headent[0].time_high) << 32 | headent[0].time_low;
|
start_time = ((uint64_t) headent[0].time_high) << 32 | headent[0].time_low;
|
||||||
|
Reference in New Issue
Block a user