The CINProperties function only labels your CIN as being safe to run from multiple threads. Whether the CIN is actually thread safe depends entirely upon what C code has been written. For information about what makes C code safe or unsafe to be run from multiple threads simultaneously, please consult C programming documentation. The following characteristics are the basic characteristics of thread safe code in a CIN.
- The code is thread safe when it does not store any unprotected global data, such as global variables, files on disk, and so on.
- The code is thread safe when it does not access any hardware. In other words, the code does not contain register-level programming.
- The code is thread safe when it does not make any calls to any functions, shared libraries, or drivers that are not thread safe.
- The code is thread safe when it uses semaphores or mutexes to protect access to global resources.
- The CIN call is thread safe when only one non-reentrant VI calls the CIN.
- The CIN call is thread safe when the code does not access any global resources through CIN housekeeping routines, such as CINInit, CINAbort, CINDispose, and others.