LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

is it feature or bug with reference?

What is reason to use reference as output if vi is "Non-reentrant execution" and "Shared clone reentrant execution"?

0 Kudos
Message 11 of 12
(217 Views)

@Vasilich2004 wrote:

I made test.

"Shared clone reentrant execution" works as "Non-reentrant execution" and doesn't work as "Preallocated clone reentrant exception".

 

So reference doesn't work correctly if it is used as VI output in case of "Non-reentrant execution" and "Shared clone reentrant execution".

Reference works correctly if it is used as VI input.

 

I attached updates files (old Main.vi isn't correct).

I could check myself but I thought that "Shared clone reentrant execution" behaviors could be unstable.


It works exactly as specified. Shared clone creates a pool of VIs that gets reused. Exactly which one you don't know and thus you shouldn't build code that requires it. In this case you got the same instance twice. 

The 2nd subVI works perfectly fine as Reentrant (just change it and try) just because it isn't dependant on anything inside the VI.

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 12 of 12
(209 Views)