bcpierce00 / unison

Unison file synchronizer
GNU General Public License v3.0
3.86k stars 224 forks source link

Improve GUI multithreading #991

Open gdt opened 5 months ago

gdt commented 5 months ago

[This is phrased a feature request, but I realize one could see it as a defect.]

The GUI uses cooperative threads, and there are at least two situations where the GUI thread might be starved briefly, leading to poor user interaction and even windowing system complaints. One is fingerprinting large files, and the other is deleting directory trees.

This ticket can be closed when all operations have adequate yield points (straightforward) or the GUI runs in a separate POSIX thread (might need discussion to be sure we have no portability regressions).

Marking impact-low because most people don't see this and absent upset window managers, it doesn't lead to incorrect outcomes.