summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-11-13 15:10:24 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-11-13 15:10:24 +0000
commit906dd572fb4f6dfcc0d39638137535979996a4eb (patch)
tree1b6b2a940f7f5178224c9348dea913bbad0f79bc /cpukit
parent2008-11-13 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-906dd572fb4f6dfcc0d39638137535979996a4eb.tar.bz2
2008-11-13 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1336/cpukit * sapi/inline/rtems/chain.inl: Add rtems_chain_prepend_unprotected and rtems_chain_append_unprotected.
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/ChangeLog6
-rw-r--r--cpukit/sapi/inline/rtems/chain.inl34
2 files changed, 40 insertions, 0 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index b88b29c409..b91bdbf390 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -1,3 +1,9 @@
+2008-11-13 Joel Sherrill <joel.sherrill@OARcorp.com>
+
+ PR 1336/cpukit
+ * sapi/inline/rtems/chain.inl: Add rtems_chain_prepend_unprotected and
+ rtems_chain_append_unprotected.
+
2008-11-03 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1333/cpukit
diff --git a/cpukit/sapi/inline/rtems/chain.inl b/cpukit/sapi/inline/rtems/chain.inl
index bc3e57d133..31d530edad 100644
--- a/cpukit/sapi/inline/rtems/chain.inl
+++ b/cpukit/sapi/inline/rtems/chain.inl
@@ -296,6 +296,22 @@ RTEMS_INLINE_ROUTINE void rtems_chain_append(
_Chain_Append( the_chain, the_node );
}
+/**
+ * @brief Append a node on the end of a chain (unprotected)
+ *
+ * This routine appends @a the_node onto the end of @a the_chain.
+ *
+ * @note It does NOT disable interrupts to ensure the atomicity of the
+ * append operation.
+ */
+RTEMS_INLINE_ROUTINE void rtems_chain_append_unprotected(
+ rtems_chain_control *the_chain,
+ rtems_chain_node *the_node
+)
+{
+ _Chain_Append_unprotected( the_chain, the_node );
+}
+
/** @brief Prepend a Node
*
* This routine prepends the_node onto the front of the_chain.
@@ -314,5 +330,23 @@ RTEMS_INLINE_ROUTINE void rtems_chain_prepend(
_Chain_Prepend( the_chain, the_node );
}
+/** @brief Prepend a Node (unprotected)
+ *
+ * This routine prepends the_node onto the front of the_chain.
+ *
+ * @param[in] the_chain is the chain to be operated upon.
+ * @param[in] the_node is the node to be prepended.
+ *
+ * @note It does NOT disable interrupts to ensure the atomicity of the
+ * prepend operation.
+ */
+RTEMS_INLINE_ROUTINE void rtems_chain_prepend_unprotected(
+ rtems_chain_control *the_chain,
+ rtems_chain_node *the_node
+)
+{
+ _Chain_Prepend_unprotected( the_chain, the_node );
+}
+
#endif
/* end of include file */