My C code doesn't share heaps. Strict privsep design meaning one heap per process and no threads in favour of "select".
> and no threads in favour of "select".
Not sure why you mentioned that. Callback chains can create concurrency contexts (callback chains) that can interfere with each other, much like multiple threads would. It would have a much higher granularity but you are not out of the woods.
That is true but you only have one thread to synchronise so mutexes and locks are vastly simplified.