Comments (2)
From what I recall, the blocking has to do with certain function calls that use and block "the root loop".
In my experience, I observe that functions like Open VI Reference will be blocked while Windows File Dialog is open, One-button Dialog is open, Menubar is active, etc. I'm not sure this has to do with the execution system that a VI is running in. Here's some good reading: http://www.labviewcraftsmen.com/blog/the-root-loop
Hope that helps and I didn't miss the main point or go off in the wrong direction
from jki-state-machine-objects.
I loved that blog post, thanks for the link; this is definitely a panda ant scenario.
In my application, I have created a complicated hierarchy (seemed like a good idea at the time ;-) of classes (SMO) with processes that provide the communication to external applications. It goes something like TCP Client >> General Client API >> Specific Client API. Communication with Specific Client 1 and Specific Client 2 works brilliantly, until the user performs an action in a completely unrelated class in my application, that result in the opening of the file dialog. This causes that part of my application to enter the root loop, block the single thread in the UI preferred execution system [PES] and also block any other activities that need the root loop, if I have use all the vocabulary correctly. Then both external applications generate communication errors because my application has stopped replying to messages.
My initial assumption (and what motivated this discussion), was that my SMO process was running in the UI thread and I was wondering how others avoided or managed this issue of PES and SMO processes. LabVIEW's easy debugging has spoiled me and so I find debugging this issue very tedious and time consuming. I'm off to debug some more, I hope I don't get stung....
Thanks for your time - Chris
from jki-state-machine-objects.
Related Issues (20)
- onDependencyMessage 'Error Out' and 'SMO Out' values ignored by framework HOT 11
- SMOFacade:Call does not correctly handle clusters HOT 4
- Cannot launch two dependencies of the same "given name" even after destroying reference of first one HOT 3
- Shared resources not registered with private attribute HOT 1
- Self-termination behavior of SMO base process HOT 1
- FindDependency(byKey) reports dependency found even if SMO has no dependencies. HOT 3
- LaunchDependency input "SMO in" should be required input. HOT 1
- SetAttributeByName should have AttrName be "recommended" instead of required
- Provide abstract override methods around "Declare Dependencies"
- Support setting public attributes before object creation HOT 1
- Expose a protected method for listing public attributes
- "Register Process" should be re-entrant
- Event Data is Always Boolean After Error HOT 1
- Dynamically launched SMOs from inside the Callee's Process causes intermittent errors during StopProcess call HOT 3
- Process Sync does not wait for State started to release HOT 1
- Destroying a dependency should release the name for reuse by other subsystems HOT 1
- EXE Build Failed due to LaunchProcess.vi HOT 5
- SMO.lvclass:ListThisLevelDependencies.vi works differently (incorrectly?) after the latest updates HOT 1
- Incorrect Tip-Strip on Create SMO button.
- [Feature request] Holistic Scripting Tools HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jki-state-machine-objects.