APIs, concepts, guides, and more
user-label-thread-safety-set
Thread Safety:
The call takes a cross process lock (the node's own lock for UserLabelSet, one controller wide I/O label lock for the per I/O point setters), so writers in several threads and several processes cannot corrupt the stored labels. Nothing is handed back to the caller, so there is no shared buffer to race on. Two writers racing to label the same node or I/O point simply leave whichever wrote last. 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. The label getters have a further restriction, see the Thread Safety section of the matching label getter.