Repository navigation
Commit 6fc76ad
authored
Close executors that Shutdown invalidates while their Run retires (#482)
Shutdown marks every executor invalid but closes only owners without a
Run, leaving a running owner's close to its prepared release. The release
reads r.closed and owner.invalid once, before joining operations and
retiring the Run. When Shutdown took the lock after that reuse decision
and before the Run let go of the owner, nobody closed the executor: it
stayed in r.executors with no close in flight, and Shutdown reported
"cleanup unconfirmed" for a healthy native executor. Device shutdown
has the same window and left the owner permanently invalid.
When the release retires an owner that was invalidated without a close,
start the close under shutdownWG so Shutdown waits for it. Report an
executor that remains without a close error as "cleanup has not
settled" instead of wrapping a nil error.1 parent e60d8ff commit 6fc76ad
2 files changed
Lines changed: 10 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
262 | 262 | | |
263 | 263 | | |
264 | 264 | | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
265 | 270 | | |
266 | 271 | | |
267 | 272 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
94 | 98 | | |
95 | 99 | | |
96 | 100 | | |
| |||
0 commit comments