As far as I know mutex is not a signal that data is received, which would require some kind of threading / interrupt.
Moreover, it's a bit of a secondary thing.
The API would look something like a call function with a receive function/lambda on the receiving side, with memory possibly being 'handed over' or whatever. And so the level of abstraction would be slightly higher.
And it would be a no-brainer, well established thing. Searching for how to do that today and it's always complicated.