Menu

#105 taskENTER_CRITICAL_FROM_ISR Bug

v1.0 (example)
closed-fixed
nobody
None
5
2015-03-28
2015-03-28
No

I think i found bug in task.h

Currently is:

#define taskENTER_CRITICAL_FROM_ISR( x ) portSET_INTERRUPT_MASK_FROM_ISR( x )
#define taskEXIT_CRITICAL_FROM_ISR() portCLEAR_INTERRUPT_MASK_FROM_ISR()

I think it should be:

#define taskENTER_CRITICAL_FROM_ISR() portSET_INTERRUPT_MASK_FROM_ISR()
#define taskEXIT_CRITICAL_FROM_ISR( x ) portCLEAR_INTERRUPT_MASK_FROM_ISR( x )

Discussion

  • Richard Barry

    Richard Barry - 2015-03-28

    :o) Those macros were not supposed to be left in at all really as they are not documented anywhere, and all documentation says to use the portCLEAR_INTERRUPT_MASK_FROM_ISR() and portSET_INTERRUPT_MASK_FROM_ISR() versions. They came about while writing the next version of the book, where the naming of the task level and ISR level versions were obviously inconsistent, and I was experimenting with making them consistent in the book text.

    I have corrected already in the working copy, but that is not checked in yet.

    Thanks.

     
  • Richard Barry

    Richard Barry - 2015-03-28
    • status: open --> closed-fixed
     

Log in to post a comment.