The way how code execution is implemented #13640
Unanswered
bingo-soft
asked this question in
Help and troubleshooting
Replies: 1 comment
-
I finally figured it out. At least I see, that I can submit commands, that need to have access to context and language, to context thread manager. And in this case, I do not have to explicitely enter and leave language server truffle context. I checked it and see that it works like so, but if someone from core team could provide more details on that or give some clarification, it would be great. Thank you for your attention to this matter! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hello, dear professionals! I try to reverse-engineer Enso library and can not understand one detail about the way how language server actually executes the source code (provided for example through AttachVizualisation command). I'm struggling with it, because I see that when truffle context is initialized, then RuntimeServerInstrument.onLanguageContextInitialized is called. And inside this method we enter, initialized ExecutionService and leave the context. So, I do understand (or at least it seems like that) that ExecutionService is responsible for executing source code, but I do not see in the source code, when we enter and leave truffle context again, it seems like truffle context is bound to the thread where ExecutionService is initialized, but how can we be certain that code execution later runs in the same thread as where ExecutionService was instantiated? What if we are runing in a multi-threading environment and call expressions evaluation in other threads? Thanks in advance!
Beta Was this translation helpful? Give feedback.
All reactions