Since I was investigating that page to build a N-producer,1-consumer message queue synchronized by SEMA (doh!), I thought "Fantastic, infrastructure has already been created!" but then I stumped into the documentation... er, not: I could not stump into it because there was NO documentation of MsgSend, MsgReceive, XChgCreateP, and their relatives.
It's not very difficult to imagine how XChgCreateP/H works, and I think that MsgReceive is straightforward (except for the potential requirement of releasing the read message?), but... how to create a message to invoke MsgSend with?
Or should I roll the well-known ringbuffer?
π
1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The Codesys help reference this library in "Synchronization of Concurrent Execution" page https://help.codesys.com/webapp/synchronization;product=LibDevSummary;version=3.5.17.0 talking about message queues vs. shared memory.
Since I was investigating that page to build a N-producer,1-consumer message queue synchronized by SEMA (doh!), I thought "Fantastic, infrastructure has already been created!" but then I stumped into the documentation... er, not: I could not stump into it because there was NO documentation of MsgSend, MsgReceive, XChgCreateP, and their relatives.
It's not very difficult to imagine how XChgCreateP/H works, and I think that MsgReceive is straightforward (except for the potential requirement of releasing the read message?), but... how to create a message to invoke MsgSend with?
Or should I roll the well-known ringbuffer?