Changeset 0960fee in rtems


Ignore:
Timestamp:
05/07/14 15:53:48 (10 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, 5, master
Children:
b97bc8bc
Parents:
6c36946f
git-author:
Sebastian Huber <sebastian.huber@…> (05/07/14 15:53:48)
git-committer:
Sebastian Huber <sebastian.huber@…> (05/07/14 15:55:59)
Message:

rtems: Fix ASR SMP support

Initialize the ISR lock only once and destroy it properly.

Location:
cpukit/rtems
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpukit/rtems/include/rtems/rtems/asrimpl.h

    r6c36946f r0960fee  
    4747  asr->signals_pending = 0;
    4848  asr->nest_level      = 0;
     49}
     50
     51RTEMS_INLINE_ROUTINE void _ASR_Create( ASR_Information *asr )
     52{
    4953  _ISR_lock_Initialize( &asr->Lock, "ASR" );
     54  _ASR_Initialize( asr );
     55}
     56
     57RTEMS_INLINE_ROUTINE void _ASR_Destroy( ASR_Information *asr )
     58{
     59  _ISR_lock_Destroy( &asr->Lock );
    5060}
    5161
  • cpukit/rtems/src/tasks.c

    r6c36946f r0960fee  
    5757  _Event_Initialize( &api->Event );
    5858  _Event_Initialize( &api->System_event );
    59   _ASR_Initialize( &api->Signal );
     59  _ASR_Create( &api->Signal );
    6060  _Thread_Action_initialize( &api->Signal_action, _Signal_Action_handler );
    6161#if !defined(RTEMS_SMP)
     
    9191}
    9292
     93static void _RTEMS_tasks_Delete_extension(
     94  Thread_Control *executing,
     95  Thread_Control *deleted
     96)
     97{
     98  RTEMS_API_Control *api;
     99
     100  api = deleted->API_Extensions[ THREAD_API_RTEMS ];
     101
     102  _ASR_Destroy( &api->Signal );
     103}
     104
    93105static void _RTEMS_tasks_Terminate_extension(
    94106  Thread_Control *executing
    95107)
    96108{
    97 
    98109  /*
    99110   *  Free per task variable memory
     
    173184    _RTEMS_tasks_Start_extension,             /* start */
    174185    _RTEMS_tasks_Start_extension,             /* restart */
    175     NULL,                                     /* delete */
     186    _RTEMS_tasks_Delete_extension,            /* delete */
    176187    RTEMS_TASKS_SWITCH_EXTENSION,             /* switch */
    177188    NULL,                                     /* begin */
Note: See TracChangeset for help on using the changeset viewer.