Adds api to release an existing ordered lock and acquire a new lock.

Signed-off-by: Balasubramanian Manoharan <[email protected]>
---
 include/odp/api/spec/schedule.h |   20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/include/odp/api/spec/schedule.h b/include/odp/api/spec/schedule.h
index 8244746..c5d2214 100644
--- a/include/odp/api/spec/schedule.h
+++ b/include/odp/api/spec/schedule.h
@@ -368,6 +368,26 @@ void odp_schedule_order_lock(unsigned lock_index);
 void odp_schedule_order_unlock(unsigned lock_index);
 
 /**
+ * Release ordered context lock and acquires new lock
+ *
+ * This call is valid only when holding an ordered synchronization context.
+ * Release a previously locked ordered context lock and acquires
+ * a new ordered context lock.
+ * This call is valid only when there is a single ordered context lock and
+ * is invalid if there are nested ordered context lock.
+ *
+ * @param lock_index   Index of the ordered lock in the current context to be
+ *                     acquired. Previously acquired ordered lock is released.
+ *                     Results are undefined if there is a nested ordered lock
+ *                     in the context. Must be in the range
+ *                     0...odp_queue_lock_count() - 1
+ *
+ * @see odp_schedule_order_lock(), odp_schedule_order_unlock()
+ *
+ */
+void odp_schedule_order_unlock_lock(uint32_t lock_index);
+
+/**
  * @}
  */
 
-- 
1.7.9.5

Reply via email to