[rtems commit] capture: Fix lock initialization
Sebastian Huber
sebh at rtems.org
Fri Jan 9 13:09:38 UTC 2015
Module: rtems
Branch: master
Commit: cfe6d05e3bc47a61db757ba026e44ad09876233b
Changeset: http://git.rtems.org/rtems/commit/?id=cfe6d05e3bc47a61db757ba026e44ad09876233b
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Tue Dec 23 10:32:22 2014 +0100
capture: Fix lock initialization
---
cpukit/libmisc/capture/capture.c | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/cpukit/libmisc/capture/capture.c b/cpukit/libmisc/capture/capture.c
index 4327100..34aa600 100644
--- a/cpukit/libmisc/capture/capture.c
+++ b/cpukit/libmisc/capture/capture.c
@@ -79,7 +79,9 @@ typedef struct {
static rtems_capture_per_cpu_data *capture_per_cpu = NULL;
-static rtems_capture_global_data capture_global;
+static rtems_capture_global_data capture_global = {
+ .lock = RTEMS_INTERRUPT_LOCK_INITIALIZER( "Capture" )
+};
/*
* RTEMS Capture Data.
@@ -109,7 +111,7 @@ static rtems_capture_global_data capture_global;
/*
* RTEMS Event text.
*/
-static const char* capture_event_text[] =
+static const char * const capture_event_text[] =
{
"CREATED_BY",
"CREATED",
@@ -578,7 +580,7 @@ rtems_capture_open (uint32_t size, rtems_capture_timestamp timestamp __attribu
count = rtems_get_processor_count();
if (capture_per_cpu == NULL) {
- capture_per_cpu = calloc( count, sizeof(rtems_capture_per_cpu_data) );
+ capture_per_cpu = calloc( count, sizeof( *capture_per_cpu ) );
}
for (i=0; i<count; i++) {
@@ -589,8 +591,10 @@ rtems_capture_open (uint32_t size, rtems_capture_timestamp timestamp __attribu
break;
}
- capture_count_on_cpu(i) = 0;
- capture_flags_on_cpu(i) = 0;
+ rtems_interrupt_lock_initialize(
+ &capture_lock_on_cpu( i ),
+ "Capture Per-CPU"
+ );
}
capture_flags_global = 0;
@@ -662,9 +666,10 @@ rtems_capture_close (void)
capture_controls = NULL;
for (cpu=0; cpu < rtems_get_processor_count(); cpu++) {
- capture_count_on_cpu(cpu) = 0;
if (capture_records_on_cpu(cpu).buffer)
rtems_capture_buffer_destroy( &capture_records_on_cpu(cpu) );
+
+ rtems_interrupt_lock_destroy( &capture_lock_on_cpu( cpu ) );
}
free( capture_per_cpu );
More information about the vc
mailing list