Hi,
To understand the function call flow from rtapi to components i made a compact example a while ago.
This is a universal approach, same as lcnc uses:
function loader
Normally you can just create new thread. This one uses a json file to load threads, shared mem, components.
new thread
Ok, so it would be reasonable to assume that if I moved the rtapi call from motmod/tpmod to somewhere else I should not expect weird side effects since this is all done through the fairly standard RTAPI API.
The dlopen call from rtapi is straight into the component motmod or tpmod lib's function.
You can not move it around, but you can create logic to manipulate or change rtapi calls.
One other question I have is, why is there a limit on the # of threads created and the order they are created in? Is this again a convenience/limitation made to simplify things or more of a deliberate design trade-off?
I did not know this but in terminal : ulimit -a
Is the limit of posix threads for users. Admins may do more.