Commit 2045361
fix: restore grace period after stuck-kill resetDetection (#571)
resetDetection zeroed firstSeen, causing doCheckStuck to skip the
grace period (now.Sub(time.Time{}) is always huge). Restarted sessions
could be re-killed after just one timeout instead of the intended
grace + timeout window.
Fix: doCheckStuck re-initializes zero firstSeen to now, giving the
restarted session a real grace period. Add test proving the grace
period holds after reset.
Also fix controller.md: tracker rebuild doc was inaccurate — the stuck
tracker preserves state when its timeout is unchanged, unlike other
trackers that rebuild unconditionally.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 1737fd6 commit 2045361
File tree
3 files changed
+39
-3
lines changed- cmd/gc
- engdocs/architecture
3 files changed
+39
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
163 | 170 | | |
164 | 171 | | |
165 | 172 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
125 | 125 | | |
126 | 126 | | |
127 | 127 | | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
128 | 155 | | |
129 | 156 | | |
130 | 157 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
167 | | - | |
168 | | - | |
169 | | - | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
170 | 172 | | |
171 | 173 | | |
172 | 174 | | |
| |||
0 commit comments