rtems_interrupt_is_in_progress() not working.

Joel Sherrill joel.sherrill at OARcorp.com
Sun Jan 10 19:03:37 UTC 2010


On 01/10/2010 12:46 PM, Nick Thomas wrote:
>> I meant to change the test so instead of sending a signal from the ISR,
>> you check that rtems_interrupt_is_in_progress() is tested.  Fix the
>> example so it checks it is false from the task and true from the ISR.
>> If it doesn't work, then I can verify the correctness of the test on
>> another architecture.
>>
>> I suspect this is because the PowerPC keeps interrupt nest level in a
>> register (if I remember that correctly) and that information is not
>> propagated to the API.
>>
>> So we need a test. :)
>>      
> OK, I understand now.
> Adding the check rtems_interrupt_is_in_progress() in both the task and the
> timer ISR results in the task returning FALSE, and in the ISR it returns
> TRUE.
> I think this is expected behavior.
>
>    
That is indeed the expected behavior.  Please send me privately
the new test.  I will double check that there isn't one in sptests
and add it if it adds more coverage.
> But, I suspect that my problem is caused by rtems_interrupt_is_in_progress()
> being called from within a genuine hardware interrupt - not a timer
> interrupt.
> Does that make a difference?
>
>    
The timer handler is called from the RTEMS clock tick which
should be a real interrupt. :)

Is it possible on your BSP that the entry into this interrupt
isn't setup properly?  I mean that it isn't going through the
RTEMS interrupt entry path.

> Regards
>
> Nick
>
>
>    




More information about the users mailing list