Closed mliberty1 closed 1 year ago
It looks like the threads still respond correctly to kill
. So for linux, you can:
jobs
kill %{job_id}
, such as kill %1
Alternatively:
killall -9 joulescope_launcher
Upon investigation, the problem lies in how the Joulescope UI uses QDockWidget
. Instead of letting QDockWidgets
manage themselves, the UI overrides closeEvent, which can ignore the close event. When one dock window shuts down, this additional behavior prevents other dock windows from shutting down, which prevents the application from closing.
The purpose of this override is to support singleton widgets, which includes all existing widgets except SingleValueWidget
. The goal of singletons was to make the UI easy to use. No need to have two multimeters and better just to toggle. We now have other features to simplify widget management, such as profiles. Going forward, the UI will support multiple simultaneous connected Joulescopes, so singletons will definitely not be a good choice.
Since fixing requires a fairly major restructuring of the widgets which needs to be done as part of multiple device support, we will defer this issue until we add multiple device support.
This particular issue was fixed in 1.0.0 by moving to the Advanced Docking System.
I did see a few times that the UI did not close cleanly leading up to the 1.0.0 release. I have not yet seen it with the 1.0.0 release, but it's possible (likely?) that a similar issue exists. However, since the cause will be different, let's close this issue. We can open a new issue if we find problems with 1.0.0 shutting down.
Platform: Linux (reported, but also happens on Windows, not yet tested on Mac) Version: 0.9.7
See forum. Thank you @MortenGuldager!
Description When you exit the Joulescope UI in some configurations, it does not shut down cleanly. Threads continue to execute. These threads may interfere with subsequent Joulescope UI launches.
Expected Behavior All Joulescope UI threads should terminate when you exit the Joulescope UI.
Steps to reproduce