Commit 9beabe8
Pin interrupt drain ResultResponse early-return for EXEC-INTERRUPT race
``DqliteProtocol.interrupt``'s drain loop has an explicit
``isinstance(response, ResultResponse): return`` arm to
handle the EXEC-side terminal: when an EXEC's done-callback
has emitted ``RESULT`` before the INTERRUPT took effect, the
response queue holds the RESULT before the EmptyResponse
acknowledgement. Without the arm, the loop would hit the
"Expected EmptyResponse" branch and poison the wire.
The line was uncovered. Add a unit test feeding a
``ResultResponse`` to the drain loop and asserting clean
return.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent f6b79d6 commit 9beabe8
1 file changed
Lines changed: 20 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
46 | 66 | | |
47 | 67 | | |
48 | 68 | | |
| |||
0 commit comments