Commit 40e6746
authored
fix: update TokioBackgroundExecutor to join thread instead of detaching (delta-io#2126)
## What changes are proposed in this pull request?
The `TokioBackgroundExecutor` detaches its background thread on drop,
which can cause a race condition with process exit. We hit this in a
Postgres extension where the detached thread would conflict with
Postgres backend exit.
This udpates `JoiningBackgroundExecutor` to join its thread instead of
deatching it, ensuring all runtime cleanup completes before the executor
is destroyed. We have currenlty implemented this locally but would like
to upstream it.
## How was this change tested?
- Existing executor tests1 parent 69bf275 commit 40e6746
1 file changed
Lines changed: 24 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| 57 | + | |
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
63 | 64 | | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
64 | 68 | | |
65 | 69 | | |
66 | | - | |
| 70 | + | |
67 | 71 | | |
68 | | - | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
69 | 89 | | |
70 | 90 | | |
71 | 91 | | |
| |||
93 | 113 | | |
94 | 114 | | |
95 | 115 | | |
96 | | - | |
| 116 | + | |
97 | 117 | | |
98 | | - | |
| 118 | + | |
99 | 119 | | |
100 | 120 | | |
101 | 121 | | |
| |||
0 commit comments