summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-12-10 10:59:02 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-02-12 09:08:41 +0100
commit4eab96bbb421018c17f984c1c3a4220abe16c788 (patch)
tree0fbdf020e809c9b54891b6130ab7358ba214d603 /cpukit
parentscore: Add _Freechain_Is_empty() (diff)
downloadrtems-4eab96bbb421018c17f984c1c3a4220abe16c788.tar.bz2
score: Add _Freechain_Pop()
Update #3835.
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/include/rtems/score/freechain.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/cpukit/include/rtems/score/freechain.h b/cpukit/include/rtems/score/freechain.h
index bbae0b65bb..e656f64f8e 100644
--- a/cpukit/include/rtems/score/freechain.h
+++ b/cpukit/include/rtems/score/freechain.h
@@ -92,6 +92,18 @@ RTEMS_INLINE_ROUTINE bool _Freechain_Is_empty(
}
/**
+ * @brief Pop an item from the freechain.
+ *
+ * The freechain must not be empty.
+ *
+ * @param freechain The freechain control.
+ */
+RTEMS_INLINE_ROUTINE void *_Freechain_Pop( Freechain_Control *freechain )
+{
+ return _Chain_Get_first_unprotected( &freechain->Free );
+}
+
+/**
* @brief Gets a node from the freechain.
*
* @param[in, out] freechain The freechain control.