Hi Marce,
Essentially to determine if you want to make the subVIs reentrant, you want to determine if they are thread-safe:
- Does not have global storage data (global variables, files in disk, etc) or protect any global storage with semaphores/mutexes
- Does not access hardware (registers)
- Does not call functions/shared libraries/drivers that are not reentrant or thread-safe
The link in my previous post was to clarify the fact that if you do have information that is stored in the subVI, setting the execution to non-reentrant will cause problems with data being overwritten incorrectly. By making the subVIs reentrant, each subVI will have its own dataspace and will be a separate instance from the calling VI’s point of view.
Lemme know if you have other questions.
Kileen