-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Currently, the VolumeLoaderThread class uses multiprocessing.Process objects to download then load Volume objects. This works fine on platforms that create children processes through 'fork' (Linux) but causes pickling problems on other platforms which use 'spawn' (macOS, Windows).
Although macOS can be made to use 'fork', Windows cannot.
The functionality enabled by the use of processes (cancelling (down)loads) is actually disabled currently on the dev branch through the AtlasProgressDialog not allowing canceled/rejected signals to go through as that was causing some application deadlocks that were very difficult to debug.
The fix should therefore be twofold:
- Fix the pickling issues by moving away from using processes altogether and sticking to threads exclusively.
- Re-enable the ability to cancel (down)loads while maintaining a responsive GUI.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working