Commit 33439c2
committed
fix: forward controlActionCancel to cancelCh in poll-mode fetchAndRunLoop
When using drivers that don't support LISTEN/NOTIFY (e.g. riverdatabasesql),
job cancel events are routed in-process via queueControlCh. The
controlActionCancel case was missing from fetchAndRunLoop's queueControlCh
handler, causing cancel events to be silently dropped and ctx.Done() to never
fire inside a running Work() call.
Forward the job ID to cancelCh so the existing maybeCancelJob call handles it,
matching the behaviour of the LISTEN/NOTIFY path in handleControlNotification.
Adds a test that verifies ctx.Done() fires in a running job after JobCancel is
called when using a poll-only driver (SupportsListener() == false).1 parent 82c968a commit 33439c2
2 files changed
Lines changed: 45 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
987 | 987 | | |
988 | 988 | | |
989 | 989 | | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
990 | 1030 | | |
991 | 1031 | | |
992 | 1032 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
528 | 528 | | |
529 | 529 | | |
530 | 530 | | |
531 | | - | |
532 | | - | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
533 | 536 | | |
534 | 537 | | |
535 | 538 | | |
| |||
0 commit comments