I've got a realtime application using Xenomai with the Alchemy skin, which has to communicate between the realtime and non realtime threads.
To do this I've created some buffers using rt_buffer_create() as described here:
https://doc.xenomai.org/v3/html/xeno3prm/group__alchemy__buffer.html
However, trying to read them from the non-realtime threads (pthreads) using rt_buffer_read() returns error code -EINVAL which should mean bf is not a buffer descriptor, or len is greater than the actual buffer length. I have confirmed that the buffer is being successfully created and the correct handle passed to rt_buffer_read(), and that the read length is less than the buffer length.
The documentation does not mention anything about not using the Xenomai IPC buffers in a non-realtime thread, however I am wondering if it is not possible or if there is something else that I might be doing wrong.
Thanks.