summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/userextaddset.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cpukit/score/src/userextaddset.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/cpukit/score/src/userextaddset.c b/cpukit/score/src/userextaddset.c
index a55dd8cedc..f34ad0072f 100644
--- a/cpukit/score/src/userextaddset.c
+++ b/cpukit/score/src/userextaddset.c
@@ -20,13 +20,20 @@
#endif
#include <rtems/score/userextimpl.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/percpu.h>
+#include <rtems/score/sysstate.h>
void _User_extensions_Add_set(
User_extensions_Control *the_extension
)
{
- _Chain_Append( &_User_extensions_List, &the_extension->Node );
+ _Assert(
+ _Objects_Allocator_is_owner()
+ || _System_state_Is_before_multitasking( _System_state_Get() )
+ );
+
+ _Chain_Append_unprotected( &_User_extensions_List, &the_extension->Node );
/*
* If a switch handler is present, append it to the switch chain.