Commit 4d5c543
committed
fix(desktop): drop supervisor lock before pause confirmation dialog
- Sample is_running state under a short lock, then release before calling confirm_panel_pause() to avoid deadlocking the UI thread on Linux
- gtk::Dialog::run() nests the GTK loop which can dispatch RefreshStatus events that also need the supervisor mutex; holding the lock across the dialog caused a 2-second status poll to freeze the pause confirmation
- Re-acquire the lock before stopping to handle the case where the supervisor state changed while the dialog was open
- Restructure the pause/resume logic to cleanly separate lock-acquisition phases1 parent 6b883f9 commit 4d5c543
5 files changed
Lines changed: 26 additions & 8 deletions
File tree
- src/bin/stitch-desktop
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
669 | 669 | | |
670 | 670 | | |
671 | 671 | | |
672 | | - | |
673 | | - | |
674 | | - | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
675 | 688 | | |
676 | 689 | | |
677 | 690 | | |
678 | 691 | | |
679 | 692 | | |
680 | | - | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
681 | 699 | | |
682 | 700 | | |
683 | 701 | | |
| |||
0 commit comments