Remove panics from the scheduler and simplify start/stop_io()

Hold scheduler lock during the whole procedure of scheduler starting
and stopping. This ensures that two processes can't get two read locks
in parallel and start loops or send the stop signal twice.

Also remove shutdown channels: it is enough to wait
for the loop handle without receiving a shutdown signal
from the end of the loop.
This commit is contained in:
link2xt
2022-04-30 16:53:17 +00:00
parent 4c9cc4f3d4
commit 3a10f0155f
3 changed files with 60 additions and 111 deletions

View File

@@ -1,5 +1,11 @@
# Changelog
## Unreleased
### Fixes
- simplify `dc_stop_io()` and remove potential panics and race conditions #3273
## 1.78.0
### API-Changes