1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
use crateData;
use crateThreadpool;
use Weak;
/// Death-watch guardian for worker threads.
///
/// If a worker thread unwinds (panic outside `Runnable::run`, since
/// `async-task` catches panics inside the future), the sentry's `Drop`
/// fires and spins up a replacement worker. Panics inside the future
/// itself never reach the sentry — async-task stores them in the task
/// header for the awaiter — so under normal operation this path is
/// dead.
pub