[PATCH] c-users: Add rtems_*mutex_try_lock

Christian Mauderer christian.mauderer at embedded-brains.de
Wed May 26 09:34:04 UTC 2021


---
 c-user/self_contained_objects.rst | 35 +++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/c-user/self_contained_objects.rst b/c-user/self_contained_objects.rst
index 0be1423..3351b98 100644
--- a/c-user/self_contained_objects.rst
+++ b/c-user/self_contained_objects.rst
@@ -132,6 +132,10 @@ copies of the object in calls to
 
 * :c:func:`rtems_recursive_mutex_lock`,
 
+* :c:func:`rtems_mutex_try_lock`,
+
+* :c:func:`rtems_recursive_mutex_try_lock`,
+
 * :c:func:`rtems_mutex_unlock`,
 
 * :c:func:`rtems_recursive_mutex_unlock`,
@@ -262,6 +266,37 @@ NOTES:
 
     \clearpage
 
+Try to lock the mutex
+---------------------
+
+CALLING SEQUENCE:
+    .. code-block:: c
+
+        void rtems_mutex_try_lock(
+          rtems_mutex *mutex
+        );
+
+        void rtems_recursive_mutex_try_lock(
+          rtems_recursive_mutex *mutex
+        );
+
+DESCRIPTION:
+    Tries to lock the ``mutex``. In case the mutex is not locked, it will be
+    locked and the function returns with a return value of ``0``. If the mutex
+    is already locked, the function will return with a value of ``EBUSY``.
+
+NOTES:
+    This function must be called from thread context with interrupts enabled.
+
+    For recursively locking a mutex, please also see the notes for
+    :c:func:`rtems_mutex_lock` and :c:func:`rtems_recursive_mutex_lock`.
+
+    Each mutex lock operation must have a corresponding unlock operation.
+
+.. raw:: latex
+
+    \clearpage
+
 Unlock the mutex
 ----------------
 
-- 
2.26.2



More information about the devel mailing list