summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 c21156e99c..60d033378f 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-12 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/Makefile.am: Add getrusage().
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 */