Recursive mutexes
S2OPC will support recursive mutexes, i.e. mutex that can be locked several times in the same thread without blocking.
This mechanism is useful when functions protected by a mutex call other functions protected by a mutex. In the case of the state machine of LibSub, this avoids the duplication of accessors, which would be required (so that there is a "locking version" for the publis API and an "unlocked version" for the internal usage).