Changeset aad726e in rtems
- Timestamp:
- 11/16/99 22:56:38 (24 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- 38d65f80
- Parents:
- 987445b
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/exec/rtems/include/rtems/rtems/tasks.h
r987445b raad726e 148 148 149 149 /* 150 * Per task variable structure151 */152 153 struct rtems_task_variable_tt;154 155 struct rtems_task_variable_tt {156 struct rtems_task_variable_tt *next;157 int *ptr;158 int var;159 };160 161 typedef struct rtems_task_variable_tt rtems_task_variable_t;162 163 /*164 150 * This is the API specific information required by each thread for 165 151 * the RTEMS API to function correctly. … … 172 158 rtems_event_set event_condition; 173 159 ASR_Information Signal; 174 rtems_task_variable_t *task_variables;175 160 } RTEMS_API_Control; 176 161 -
c/src/exec/rtems/src/tasks.c
r987445b raad726e 57 57 api->pending_events = EVENT_SETS_NONE_PENDING; 58 58 _ASR_Initialize( &api->Signal ); 59 api->task_variables = NULL;59 created->task_variables = NULL; 60 60 return TRUE; 61 61 } … … 95 95 ) 96 96 { 97 RTEMS_API_Control *api;98 97 rtems_task_variable_t *tvp, *next; 99 98 100 api = executing->API_Extensions[ THREAD_API_RTEMS ];101 102 99 /* 103 100 * Free per task variable memory 104 101 */ 105 102 106 tvp = api->task_variables;107 api->task_variables = NULL;103 tvp = deleted->task_variables; 104 deleted->task_variables = NULL; 108 105 while (tvp) { 109 106 next = tvp->next; … … 116 113 */ 117 114 118 (void) _Workspace_Free( api ); 119 115 (void) _Workspace_Free( deleted->API_Extensions[ THREAD_API_RTEMS ] ); 120 116 deleted->API_Extensions[ THREAD_API_RTEMS ] = NULL; 121 117 } … … 133 129 ) 134 130 { 135 RTEMS_API_Control *api;136 131 rtems_task_variable_t *tvp; 137 132 … … 140 135 */ 141 136 142 143 api = executing->API_Extensions[ THREAD_API_RTEMS ]; 144 tvp = api->task_variables; 137 tvp = executing->task_variables; 145 138 while (tvp) { 146 139 tvp->var = *tvp->ptr; … … 148 141 } 149 142 150 api = heir->API_Extensions[ THREAD_API_RTEMS ]; 151 tvp = api->task_variables; 143 tvp = heir->task_variables; 152 144 while (tvp) { 153 145 *tvp->ptr = tvp->var; -
c/src/exec/rtems/src/taskvariableadd.c
r987445b raad726e 31 31 Thread_Control *the_thread; 32 32 Objects_Locations location; 33 RTEMS_API_Control *api;34 33 rtems_task_variable_t *tvp, *new; 35 34 … … 49 48 50 49 case OBJECTS_LOCAL: 51 api = the_thread->API_Extensions[ THREAD_API_RTEMS ];52 50 53 51 /* … … 55 53 */ 56 54 57 tvp = api->task_variables;55 tvp = the_thread->task_variables; 58 56 while (tvp) { 59 57 if (tvp->ptr == ptr) { … … 77 75 new->ptr = ptr; 78 76 79 new->next = api->task_variables;80 api->task_variables = new;77 new->next = the_thread->task_variables; 78 the_thread->task_variables = new; 81 79 _Thread_Enable_dispatch(); 82 80 return RTEMS_SUCCESSFUL; -
c/src/exec/rtems/src/taskvariabledelete.c
r987445b raad726e 31 31 Thread_Control *the_thread; 32 32 Objects_Locations location; 33 RTEMS_API_Control *api;34 33 rtems_task_variable_t *tvp, *prev; 35 34 … … 51 50 52 51 case OBJECTS_LOCAL: 53 api = the_thread->API_Extensions[ THREAD_API_RTEMS ]; 54 tvp = api->task_variables; 52 tvp = the_thread->task_variables; 55 53 while (tvp) { 56 54 if (tvp->ptr == ptr) { 57 55 if (prev) prev->next = tvp->next; 58 else api->task_variables = tvp->next;56 else the_thread->task_variables = tvp->next; 59 57 _Thread_Enable_dispatch(); 60 58 _Workspace_Free(tvp); -
c/src/exec/score/include/rtems/score/thread.h
r987445b raad726e 86 86 87 87 typedef void (*Thread_CPU_budget_algorithm_callout )( Thread_Control * ); 88 89 /* 90 * Per task variable structure 91 */ 92 93 struct rtems_task_variable_tt; 94 95 struct rtems_task_variable_tt { 96 struct rtems_task_variable_tt *next; 97 int *ptr; 98 int var; 99 }; 100 101 typedef struct rtems_task_variable_tt rtems_task_variable_t; 88 102 89 103 /* … … 204 218 void *API_Extensions[ THREAD_API_LAST + 1 ]; 205 219 void **extensions; 220 rtems_task_variable_t *task_variables; 206 221 }; 207 222 -
cpukit/rtems/include/rtems/rtems/tasks.h
r987445b raad726e 148 148 149 149 /* 150 * Per task variable structure151 */152 153 struct rtems_task_variable_tt;154 155 struct rtems_task_variable_tt {156 struct rtems_task_variable_tt *next;157 int *ptr;158 int var;159 };160 161 typedef struct rtems_task_variable_tt rtems_task_variable_t;162 163 /*164 150 * This is the API specific information required by each thread for 165 151 * the RTEMS API to function correctly. … … 172 158 rtems_event_set event_condition; 173 159 ASR_Information Signal; 174 rtems_task_variable_t *task_variables;175 160 } RTEMS_API_Control; 176 161 -
cpukit/rtems/src/tasks.c
r987445b raad726e 57 57 api->pending_events = EVENT_SETS_NONE_PENDING; 58 58 _ASR_Initialize( &api->Signal ); 59 api->task_variables = NULL;59 created->task_variables = NULL; 60 60 return TRUE; 61 61 } … … 95 95 ) 96 96 { 97 RTEMS_API_Control *api;98 97 rtems_task_variable_t *tvp, *next; 99 98 100 api = executing->API_Extensions[ THREAD_API_RTEMS ];101 102 99 /* 103 100 * Free per task variable memory 104 101 */ 105 102 106 tvp = api->task_variables;107 api->task_variables = NULL;103 tvp = deleted->task_variables; 104 deleted->task_variables = NULL; 108 105 while (tvp) { 109 106 next = tvp->next; … … 116 113 */ 117 114 118 (void) _Workspace_Free( api ); 119 115 (void) _Workspace_Free( deleted->API_Extensions[ THREAD_API_RTEMS ] ); 120 116 deleted->API_Extensions[ THREAD_API_RTEMS ] = NULL; 121 117 } … … 133 129 ) 134 130 { 135 RTEMS_API_Control *api;136 131 rtems_task_variable_t *tvp; 137 132 … … 140 135 */ 141 136 142 143 api = executing->API_Extensions[ THREAD_API_RTEMS ]; 144 tvp = api->task_variables; 137 tvp = executing->task_variables; 145 138 while (tvp) { 146 139 tvp->var = *tvp->ptr; … … 148 141 } 149 142 150 api = heir->API_Extensions[ THREAD_API_RTEMS ]; 151 tvp = api->task_variables; 143 tvp = heir->task_variables; 152 144 while (tvp) { 153 145 *tvp->ptr = tvp->var; -
cpukit/rtems/src/taskvariableadd.c
r987445b raad726e 31 31 Thread_Control *the_thread; 32 32 Objects_Locations location; 33 RTEMS_API_Control *api;34 33 rtems_task_variable_t *tvp, *new; 35 34 … … 49 48 50 49 case OBJECTS_LOCAL: 51 api = the_thread->API_Extensions[ THREAD_API_RTEMS ];52 50 53 51 /* … … 55 53 */ 56 54 57 tvp = api->task_variables;55 tvp = the_thread->task_variables; 58 56 while (tvp) { 59 57 if (tvp->ptr == ptr) { … … 77 75 new->ptr = ptr; 78 76 79 new->next = api->task_variables;80 api->task_variables = new;77 new->next = the_thread->task_variables; 78 the_thread->task_variables = new; 81 79 _Thread_Enable_dispatch(); 82 80 return RTEMS_SUCCESSFUL; -
cpukit/rtems/src/taskvariabledelete.c
r987445b raad726e 31 31 Thread_Control *the_thread; 32 32 Objects_Locations location; 33 RTEMS_API_Control *api;34 33 rtems_task_variable_t *tvp, *prev; 35 34 … … 51 50 52 51 case OBJECTS_LOCAL: 53 api = the_thread->API_Extensions[ THREAD_API_RTEMS ]; 54 tvp = api->task_variables; 52 tvp = the_thread->task_variables; 55 53 while (tvp) { 56 54 if (tvp->ptr == ptr) { 57 55 if (prev) prev->next = tvp->next; 58 else api->task_variables = tvp->next;56 else the_thread->task_variables = tvp->next; 59 57 _Thread_Enable_dispatch(); 60 58 _Workspace_Free(tvp); -
cpukit/score/include/rtems/score/thread.h
r987445b raad726e 86 86 87 87 typedef void (*Thread_CPU_budget_algorithm_callout )( Thread_Control * ); 88 89 /* 90 * Per task variable structure 91 */ 92 93 struct rtems_task_variable_tt; 94 95 struct rtems_task_variable_tt { 96 struct rtems_task_variable_tt *next; 97 int *ptr; 98 int var; 99 }; 100 101 typedef struct rtems_task_variable_tt rtems_task_variable_t; 88 102 89 103 /* … … 204 218 void *API_Extensions[ THREAD_API_LAST + 1 ]; 205 219 void **extensions; 220 rtems_task_variable_t *task_variables; 206 221 }; 207 222
Note: See TracChangeset
for help on using the changeset viewer.