Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make shared library thread-safe #2

Open
jimkring opened this issue Jun 21, 2023 · 1 comment
Open

Make shared library thread-safe #2

jimkring opened this issue Jun 21, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@jimkring
Copy link
Contributor

jimkring commented Jun 21, 2023

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.

@jimkring jimkring added the enhancement New feature or request label Jun 21, 2023
@JamesMc86
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants