forked from Imagelibrary/rtems
cpukit/libmisc: fix flag in capture.c
The RTEMS_CAPTURE_OVERFLOW is an overflow flag for each CPU, and its value is the same as RTEMS_CAPTURE_INIT. Executing rtems_capture_flush will set the RTEMS_CAPTURE_INIT flag to 0 in the global flags.
This commit is contained in:
committed by
Amar Takhar
parent
00684adac9
commit
3d96772258
@@ -801,9 +801,7 @@ rtems_capture_flush (bool prime)
|
|||||||
_Thread_Iterate (rtems_capture_flush_tcb, NULL);
|
_Thread_Iterate (rtems_capture_flush_tcb, NULL);
|
||||||
|
|
||||||
if (prime)
|
if (prime)
|
||||||
capture_flags_global &= ~(RTEMS_CAPTURE_TRIGGERED | RTEMS_CAPTURE_OVERFLOW);
|
capture_flags_global &= ~RTEMS_CAPTURE_TRIGGERED;
|
||||||
else
|
|
||||||
capture_flags_global &= ~RTEMS_CAPTURE_OVERFLOW;
|
|
||||||
|
|
||||||
for (cpu=0; cpu < rtems_scheduler_get_processor_maximum(); cpu++) {
|
for (cpu=0; cpu < rtems_scheduler_get_processor_maximum(); cpu++) {
|
||||||
RTEMS_INTERRUPT_LOCK_REFERENCE( lock, &(capture_lock_on_cpu( cpu )) )
|
RTEMS_INTERRUPT_LOCK_REFERENCE( lock, &(capture_lock_on_cpu( cpu )) )
|
||||||
@@ -811,6 +809,7 @@ rtems_capture_flush (bool prime)
|
|||||||
|
|
||||||
rtems_interrupt_lock_acquire (lock, &lock_context_per_cpu);
|
rtems_interrupt_lock_acquire (lock, &lock_context_per_cpu);
|
||||||
capture_count_on_cpu(cpu) = 0;
|
capture_count_on_cpu(cpu) = 0;
|
||||||
|
capture_flags_on_cpu(cpu) &= ~RTEMS_CAPTURE_OVERFLOW;
|
||||||
if (capture_records_on_cpu(cpu).buffer)
|
if (capture_records_on_cpu(cpu).buffer)
|
||||||
rtems_capture_buffer_flush( &capture_records_on_cpu(cpu) );
|
rtems_capture_buffer_flush( &capture_records_on_cpu(cpu) );
|
||||||
rtems_interrupt_lock_release (lock, &lock_context_per_cpu);
|
rtems_interrupt_lock_release (lock, &lock_context_per_cpu);
|
||||||
|
|||||||
Reference in New Issue
Block a user