Re: [PATCH 2/3] kernel-shark-qt: Consolidate load_data_entries and load_data_records

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 5 Jul 2018 12:35:09 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> Thanks for the review.

Here's a diff of the patch. Not counting the comment change in the
doxygen header, as I already rebased that.

-- Steve

diff --git a/kernel-shark-qt/src/libkshark.c b/kernel-shark-qt/src/libkshark.c
index 86bd8789..f7560404 100644
--- a/kernel-shark-qt/src/libkshark.c
+++ b/kernel-shark-qt/src/libkshark.c
@@ -514,6 +514,7 @@ static void free_rec_list(struct rec_list **rec_list, int n_cpus)
 		while (rec_list[cpu]) {
 			temp_rec = rec_list[cpu];
 			rec_list[cpu] = temp_rec->next;
+			free_record(temp_rec->rec);
 			free(temp_rec);
 		}
 	}
@@ -663,6 +664,7 @@ ssize_t kshark_load_data_entries(struct kshark_context *kshark_ctx,
 			temp_rec = rec_list[next_cpu];
 			rec_list[next_cpu] = rec_list[next_cpu]->next;
 			free(temp_rec);
+			/* The record is no longer be referenced */
 			free_record(rec);
 		}
 	}
@@ -742,10 +744,11 @@ ssize_t kshark_load_data_records(struct kshark_context *kshark_ctx,
 			temp_rec = rec_list[next_cpu];
 			rec_list[next_cpu] = rec_list[next_cpu]->next;
 			free(temp_rec);
-			free_record(rec);
+			/* The record is still referenced in rows */
 		}
 	}
 
+	/* There should be no records left in rec_list */
 	free_rec_list(rec_list, n_cpus);
 	*data_rows = rows;
 	return total;



[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux