LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Don't Wait Until Done Reentrant Execution Troubles

Hi Everyone,

 

I'm having some trouble with reentrant execution.  Specifically, I want to run a subVI an arbitrary number of times and I don't want to wait for any of them finish.  So I figured I'd make that subVI reentrant, then launch it using the reference node stuff.  Well that seems to have some limitations.  My subVI contains another subVI which performs an HTTP download, also marked as reentrant.  However, it seems when this subVI is present, the transfer either doesn't happen, or it happens but LabVIEW tries to reset the subVI during the transfer.  The other problem is the "Check if File Exists" block, when present in my first subVI, seems to cause the call to fail.  All calls just return immediately without any transfer happening.  Part of the subVI runs, but when the check file block gets hit execution appears to stop.

 

Sorry, I know this is probably hard to follow.  Maybe some images will help.  Here's the top level test calling VI:

 

caller.gif

 

Here's the subVI which is being called in both sequence structures above:

 

subVI.GIF

 

And finally, here's what that HTTP get subVI looks like (provided by NI as an extra, although I've used my own GET functions with the same problem.)

 

get_subVI.GIF

 

Thanks!  I really appreciate your help!

 

-Yohan

Ramirez Kleinigger Consulting, LLC
http://www.thinkrkc.com/
0 Kudos
Message 1 of 3
(2,533 Views)
Are you sure that the .dll can be re-entrantly called?
0 Kudos
Message 2 of 3
(2,529 Views)

No, I don't know anything about that DLL.  However, I wind up with similar problems when using my own http subVI, which only uses the built-in LabVIEW TCP commands.  Actually the difference is that LabVIEW no longer tries to reset my subVI, it just never makes any transfers.

 

Thanks!

Ramirez Kleinigger Consulting, LLC
http://www.thinkrkc.com/
0 Kudos
Message 3 of 3
(2,526 Views)