summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/exec/score/ChangeLog6
-rw-r--r--c/src/exec/score/inline/rtems/score/userext.inl3
-rw-r--r--c/src/exec/score/macros/rtems/score/userext.inl2
-rw-r--r--cpukit/score/ChangeLog6
-rw-r--r--cpukit/score/inline/rtems/score/userext.inl3
-rw-r--r--cpukit/score/macros/rtems/score/userext.inl2
6 files changed, 20 insertions, 2 deletions
diff --git a/c/src/exec/score/ChangeLog b/c/src/exec/score/ChangeLog
index ad893d624d..c5ec2fb01c 100644
--- a/c/src/exec/score/ChangeLog
+++ b/c/src/exec/score/ChangeLog
@@ -1,3 +1,9 @@
+2002-04-08 Chris Johns <ccj@acm.org>
+
+ * Per PR141 and PR174, make task switch extension its own list and
+ fix all odd problems introduced by providing macro version.
+ * inline/rtems/score/userext.inl: Fix.
+
2001-04-08 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/score/object.inl: Corrected arguments.
diff --git a/c/src/exec/score/inline/rtems/score/userext.inl b/c/src/exec/score/inline/rtems/score/userext.inl
index 0d0b19f9ec..21adea0214 100644
--- a/c/src/exec/score/inline/rtems/score/userext.inl
+++ b/c/src/exec/score/inline/rtems/score/userext.inl
@@ -104,7 +104,8 @@ RTEMS_INLINE_ROUTINE void _User_extensions_Add_API_set (
* If a switch handler is present, append it to the switch chain.
*/
- if ( extension_table->thread_switch != NULL ) {
+ if ( the_extension->Callouts.thread_switch != NULL ) {
+ the_extension->Switch.thread_switch = the_extension->Callouts.thread_switch;
_Chain_Append(
&_User_extensions_Switches_list, &the_extension->Switch.Node );
}
diff --git a/c/src/exec/score/macros/rtems/score/userext.inl b/c/src/exec/score/macros/rtems/score/userext.inl
index f08c5d81db..3904bd1657 100644
--- a/c/src/exec/score/macros/rtems/score/userext.inl
+++ b/c/src/exec/score/macros/rtems/score/userext.inl
@@ -81,6 +81,8 @@
_Chain_Prepend( &_User_extensions_List, &(_the_extension)->Node ); \
\
if ( (_the_extension)->Callouts.thread_switch != NULL ) { \
+ (_the_extension)->Switch.thread_switch = \
+ (_the_extension)->Callouts.thread_switch; \
_Chain_Append( \
&_User_extensions_Switches_list, &(_the_extension)->Switch.Node ); \
} \
diff --git a/cpukit/score/ChangeLog b/cpukit/score/ChangeLog
index ad893d624d..c5ec2fb01c 100644
--- a/cpukit/score/ChangeLog
+++ b/cpukit/score/ChangeLog
@@ -1,3 +1,9 @@
+2002-04-08 Chris Johns <ccj@acm.org>
+
+ * Per PR141 and PR174, make task switch extension its own list and
+ fix all odd problems introduced by providing macro version.
+ * inline/rtems/score/userext.inl: Fix.
+
2001-04-08 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/score/object.inl: Corrected arguments.
diff --git a/cpukit/score/inline/rtems/score/userext.inl b/cpukit/score/inline/rtems/score/userext.inl
index 0d0b19f9ec..21adea0214 100644
--- a/cpukit/score/inline/rtems/score/userext.inl
+++ b/cpukit/score/inline/rtems/score/userext.inl
@@ -104,7 +104,8 @@ RTEMS_INLINE_ROUTINE void _User_extensions_Add_API_set (
* If a switch handler is present, append it to the switch chain.
*/
- if ( extension_table->thread_switch != NULL ) {
+ if ( the_extension->Callouts.thread_switch != NULL ) {
+ the_extension->Switch.thread_switch = the_extension->Callouts.thread_switch;
_Chain_Append(
&_User_extensions_Switches_list, &the_extension->Switch.Node );
}
diff --git a/cpukit/score/macros/rtems/score/userext.inl b/cpukit/score/macros/rtems/score/userext.inl
index f08c5d81db..3904bd1657 100644
--- a/cpukit/score/macros/rtems/score/userext.inl
+++ b/cpukit/score/macros/rtems/score/userext.inl
@@ -81,6 +81,8 @@
_Chain_Prepend( &_User_extensions_List, &(_the_extension)->Node ); \
\
if ( (_the_extension)->Callouts.thread_switch != NULL ) { \
+ (_the_extension)->Switch.thread_switch = \
+ (_the_extension)->Callouts.thread_switch; \
_Chain_Append( \
&_User_extensions_Switches_list, &(_the_extension)->Switch.Node ); \
} \