[Xenomai] rtdm task documentation bug

Peter linux at p-p-it.de
Sat Jan 7 09:44:08 CET 2017


I set up a simple test for a rtdm task and followed the example on the
bottom of the "Task Services" documentation. I think, there is a
rtdm_wait_complete call missing on the producer side in order to release
the waiting side out of the waiting condition.

I'm on the stable-3.0.x branch, but the same applies for the master


diff --git a/kernel/cobalt/rtdm/drvlib.c b/kernel/cobalt/rtdm/drvlib.c
index 1a79121..930c79a 100644
--- a/kernel/cobalt/rtdm/drvlib.c
+++ b/kernel/cobalt/rtdm/drvlib.c
@@ -393,6 +393,7 @@ int rtdm_task_busy_wait(bool condition, nanosecs_rel_t spin_ns,
  *    wc = rtdm_wait_get_context(task);
  *    wait_context_ptr = container_of(wc, struct some_wait_context, wc);
  *    wait_context_ptr->output_value = 12;
+ *    rtdm_wait_complete(wc);
  * }
  * rtdm_waitqueue_broadcast(&wq);
  * @endcode

More information about the Xenomai mailing list