You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At present, there is a very good likelihood that the shared library is not thread safe. As such, all of the call library function (CLF) nodes are configured to run in the user interface thread of LabVIEW. This means that the DLL is thus always called from the same thread (which addresses thread safety issues), but, it can also create undesirable behaviors in relationship to the user interface and the “root loop”.
It could be possible that using a different data structure than Box<> for object references would be sufficient.
More research and investigation needs to be done around thread safety and our approach to calling rust code from LabVIEW.
The text was updated successfully, but these errors were encountered:
I've seen references that you need a Box for this case which would make sense. You still have to handle the case of wire branches though so would probably need to make sure this is a reference type in LabVIEW with a cleanup "close" method.
At present, there is a very good likelihood that the shared library is not thread safe. As such, all of the call library function (CLF) nodes are configured to run in the user interface thread of LabVIEW. This means that the DLL is thus always called from the same thread (which addresses thread safety issues), but, it can also create undesirable behaviors in relationship to the user interface and the “root loop”.
It could be possible that using a different data structure than Box<> for object references would be sufficient.
More research and investigation needs to be done around thread safety and our approach to calling rust code from LabVIEW.
The text was updated successfully, but these errors were encountered: