diff options
author | Steven Rostedt <srostedt@redhat.com> | 2010-09-17 14:37:27 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2010-09-17 14:37:27 -0400 |
commit | e34749ef3e83e155e4e6ed4cc6034c81305c3896 (patch) | |
tree | ddf482a54b3733336d3deaea0c470b0724856021 | |
parent | d9016d161fcc776654d1997cf8e8a53ac5a3fc38 (diff) |
trace-cmd: Add ref counter to record
Add tracecmd_record_ref() to let an application up the reference
to a record to be used at a later moment. This makes sure the record
is not freed by the calling function.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | trace-cmd.h | 1 | ||||
-rw-r--r-- | trace-input.c | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/trace-cmd.h b/trace-cmd.h index b2586bf..b77b8e6 100644 --- a/trace-cmd.h +++ b/trace-cmd.h | |||
@@ -54,6 +54,7 @@ enum { | |||
54 | #define TS_SHIFT 27 | 54 | #define TS_SHIFT 27 |
55 | #endif | 55 | #endif |
56 | 56 | ||
57 | void tracecmd_record_ref(struct record *record); | ||
57 | void free_record(struct record *record); | 58 | void free_record(struct record *record); |
58 | 59 | ||
59 | struct tracecmd_input; | 60 | struct tracecmd_input; |
diff --git a/trace-input.c b/trace-input.c index 7db5577..1c79843 100644 --- a/trace-input.c +++ b/trace-input.c | |||
@@ -675,6 +675,11 @@ void free_record(struct record *record) | |||
675 | __free_record(record); | 675 | __free_record(record); |
676 | } | 676 | } |
677 | 677 | ||
678 | void tracecmd_record_ref(struct record *record) | ||
679 | { | ||
680 | record->ref_count++; | ||
681 | } | ||
682 | |||
678 | static void free_next(struct tracecmd_input *handle, int cpu) | 683 | static void free_next(struct tracecmd_input *handle, int cpu) |
679 | { | 684 | { |
680 | struct record *record = handle->cpu_data[cpu].next; | 685 | struct record *record = handle->cpu_data[cpu].next; |