Closed FionaDyalog closed 3 years ago
I wonder what exactly the difference between un-pause and continue is...
On Thu, 6 May 2021, 10:30 FionaDyalog, @.***> wrote:
Changes made to the IDE that need to be reflected in the RIDE (confirmed by Morten):
IDE:
- Changed MA “Resume all threads (in tracer)” to “Un-pause all paused threads”
- Changed RM “Resume execution (in tracer)” to “Continue execution of all threads”
The text has changed in the pop-up tips on the tracer toolbar, and in the HINTs (bottom of the session) for the menu items. The display of these descriptions in the “Keyboard Shortcuts” section of the configure dialog has been changed too. The actual text on the menu items has not changed for fear of making them too wide.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Dyalog/ride/issues/698, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD5XJHPO6VATWC7POPGWSDLTMJHQXANCNFSM44GSALOA .
Threads can be paused by the user explicitly, or as a result of "pause on error". A paused thread will suspend at the next thread switch point, which could be in the middle of a line (in a ⎕FHOLD, for example). Un-pause all threads allows these threads to be scheduled again.
"Suspended" threads (interrupted or stopped due to an error) need to be restarted with a →⎕LC, which "restarts" the line. To be precise, "Resume execution" will do →⎕LC for suspended threads AND unpause paused threads.
We struggled for a long time to come up with short phrases to describe this, perhaps we should just have given up.
For what it's worth, I think I finally understand the difference having looked at the issues with these commands in RIDE, but I can't think of better descriptions either.
If you have multiple threads running and "Pause on error" is set, when you interrupt or a thread signals an error, all threads are paused and one thread is suspended.
At this point I have the following options:
Is this right?
MA is only "continue all other threads" in the example where you have a single suspended thread. You could quite easily have more, for example after a service thread has crashed and then a client thread times out waiting for it and also crashes.
Changes made to the IDE that need to be reflected in the RIDE (confirmed by Morten):
IDE:
The text has changed in the pop-up tips on the tracer toolbar, and in the HINTs (bottom of the session) for the menu items. The display of these descriptions in the “Keyboard Shortcuts” section of the configure dialog has been changed too. The actual text on the menu items has not changed for fear of making them too wide.