APIs, concepts, guides, and more
user-label-thread-safety-get
Thread Safety:
The call takes a cross process lock while it reads controller memory (the node's own lock for UserLabelGet, one controller wide I/O label lock for the per I/O point getters), so processes and threads cannot see a half written label. The string it hands back is a different matter: it lives in a buffer owned by this RapidCodeNetworkNode object, so two threads calling label methods on the SAME object overwrite each other's result. Safe uses are one node object per thread, or serializing the calls and copying the string out before letting another call run. The cross process guarantee covers host side (Windows and Linux) applications only: calling the label methods from an INtime RT task is not supported, because the lock does not span the RT kernel.