-
-
Notifications
You must be signed in to change notification settings - Fork 407
Commit 61cf5e4
hls-graph: simplify AIO; scoped cancellation; fewer threads; safe cleanup
- Replace ad-hoc AIO with structured concurrency (TVar + async registry); builder returns results directly; remove lazy splitIO/unsafePerformIO
- Reduce redundant thread creation; use per-key builderOne and STM retry instead of spawning; fewer races
- Add AsyncParentKill (ThreadId, Step) and treat it as async; use cancelWith from Shake to scope cancellation to the current session
- Mask critical sections and do uninterruptible cleanup on exception (mark Dirty) to avoid stuck Running and hangs
- Adjust types/wiring (Running payload, runAIO takes Step, compute/refresh signatures); minor tweaks in ghcide Shake/Plugin.Test
Fixes #4718 1 parent 60a6c48 commit 61cf5e4
File tree
6 files changed
+116
-150
lines changed- ghcide/src/Development/IDE
- Core
- Plugin
- hls-graph/src/Development/IDE/Graph
- Internal
6 files changed
+116
-150
lines changedOriginal file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
140 | 140 |
| |
141 | 141 |
| |
142 | 142 |
| |
143 | - | ||
143 | + | ||
144 | + | ||
144 | 145 |
| |
145 | 146 |
| |
146 | 147 |
| |
| |||
908 | 909 |
| |
909 | 910 |
| |
910 | 911 |
| |
912 | + | ||
911 | 913 |
| |
912 | - | ||
914 | + | ||
915 | + | ||
916 | + | ||
913 | 917 |
| |
914 | 918 |
| |
915 | 919 |
| |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
39 | 39 |
| |
40 | 40 |
| |
41 | 41 |
| |
42 | - | ||
42 | + | ||
43 | 43 |
| |
44 | 44 |
| |
45 | 45 |
| |
| |||
145 | 145 |
| |
146 | 146 |
| |
147 | 147 |
| |
148 | - | ||
148 | + | ||
149 | 149 |
| |
150 | 150 |
| |
151 | 151 |
| |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | 1 |
| |
2 | + | ||
2 | 3 |
| |
3 | 4 |
| |
4 | 5 |
| |
| |||
8 | 9 |
| |
9 | 10 |
| |
10 | 11 |
| |
11 | - | ||
12 | - | ||
12 | + | ||
13 | + | ||
13 | 14 |
| |
14 | 15 |
| |
15 | 16 |
| |
| |||
42 | 43 |
| |
43 | 44 |
| |
44 | 45 |
| |
45 | - | ||
46 | + | ||
46 | 47 |
| |
47 | - | ||
48 | + | ||
48 | 49 |
| |
49 | 50 |
| |
50 | 51 |
| |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
81 | 81 |
| |
82 | 82 |
| |
83 | 83 |
| |
84 | + | ||
84 | 85 |
| |
85 | 86 |
| |
87 | + | ||
86 | 88 |
| |
87 | 89 |
| |
88 | 90 |
| |
|
0 commit comments