diff options
| -rw-r--r-- | trace-plot-task.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/trace-plot-task.c b/trace-plot-task.c index 0c9f8e0..c8d0905 100644 --- a/trace-plot-task.c +++ b/trace-plot-task.c | |||
| @@ -464,7 +464,9 @@ find_previous_record(struct graph_info *ginfo, struct record *start_record, | |||
| 464 | gint sched_pid; | 464 | gint sched_pid; |
| 465 | int count = 0; | 465 | int count = 0; |
| 466 | 466 | ||
| 467 | if (!last_record) | 467 | if (last_record) |
| 468 | last_record->ref_count++; | ||
| 469 | else | ||
| 468 | last_record = tracecmd_read_cpu_last(ginfo->handle, cpu); | 470 | last_record = tracecmd_read_cpu_last(ginfo->handle, cpu); |
| 469 | 471 | ||
| 470 | while ((record = tracecmd_read_prev(ginfo->handle, last_record))) { | 472 | while ((record = tracecmd_read_prev(ginfo->handle, last_record))) { |
| @@ -475,8 +477,7 @@ find_previous_record(struct graph_info *ginfo, struct record *start_record, | |||
| 475 | if (match) | 477 | if (match) |
| 476 | break; | 478 | break; |
| 477 | 479 | ||
| 478 | if (last_record != start_record) | 480 | free_record(last_record); |
| 479 | free_record(last_record); | ||
| 480 | 481 | ||
| 481 | if (count > MAX_SEARCH) { | 482 | if (count > MAX_SEARCH) { |
| 482 | free_record(record); | 483 | free_record(record); |
| @@ -485,8 +486,7 @@ find_previous_record(struct graph_info *ginfo, struct record *start_record, | |||
| 485 | last_record = record; | 486 | last_record = record; |
| 486 | } | 487 | } |
| 487 | 488 | ||
| 488 | if (last_record != start_record) | 489 | free_record(last_record); |
| 489 | free_record(last_record); | ||
| 490 | 490 | ||
| 491 | return record; | 491 | return record; |
| 492 | } | 492 | } |
