Repository navigation
Commit a5e99dd
committed
fix(gateway): let an in-flight WireGuard apply finish before exiting
Since #1308 the WireGuard config is written by a detached worker thread.
main can return while that thread is between creating the temporary file
and renaming it, most readily when a listener fails to bind right after
startup requests the first apply. That leaves a .<config>.*.tmp file
holding the interface's private key next to the config. Hold a gate
across each apply and close it on every return path out of main.
Signed-off-by: Kevin Wang <wy721@qq.com>1 parent 0fb3b24 commit a5e99dd
2 files changed
Lines changed: 32 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
| 196 | + | |
196 | 197 | | |
197 | 198 | | |
198 | 199 | | |
| |||
281 | 282 | | |
282 | 283 | | |
283 | 284 | | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
284 | 295 | | |
285 | 296 | | |
286 | 297 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
78 | 82 | | |
79 | 83 | | |
80 | 84 | | |
| |||
309 | 313 | | |
310 | 314 | | |
311 | 315 | | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
312 | 323 | | |
313 | 324 | | |
314 | 325 | | |
315 | 326 | | |
316 | 327 | | |
317 | 328 | | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
318 | 338 | | |
319 | 339 | | |
320 | 340 | | |
| |||
672 | 692 | | |
673 | 693 | | |
674 | 694 | | |
| 695 | + | |
675 | 696 | | |
676 | 697 | | |
677 | 698 | | |
| |||
0 commit comments