|
5 | 5 | //!
|
6 | 6 | //! ```text
|
7 | 7 | //! ┌─────┐ ┌────┐
|
8 |
| -//! mtx pri main task1 pri |
9 |
| -//! │1│ │3│ │ │ ┊ ┊ |
10 |
| -//! │ │ │ │ │ │ ┊ ┊ ┐ |
11 |
| -//! ├─┤ ├─┤ │ │ mtx lock ┊ ┊ │ I_LOCK |
12 |
| -//! │0│ │1│ │ │ ┊ ┊ ┘ |
13 |
| -//! │ │ │ │ │ │ activate ┊ ┊ |
14 |
| -//! │ │ │ │ │ │ ─────────────► ┊ ┊ |
15 |
| -//! │ │ │ │ │ │ park ┊ ┊ |
16 |
| -//! │ │ │ │ └┬┘ ─────────────► ┌┴┐ ┌┴┐ |
17 |
| -//! │ │ │ │ │ │ │ │1│ |
18 |
| -//! │ │ │ │ │ mtx lock │ │ │ │ |
19 |
| -//! │ │ │ │ ┌┴┐ ◀───────────── └┬┘ │ │ |
20 |
| -//! │ │ │ │ │ │ │ │ │ |
21 |
| -//! │ │ │ │ │ │ mtx unlock │ │ │ ┐ |
22 |
| -//! ├─┤ ├─┤ └┬┘ ─────────────► ┌┴┐ │ │ │ I_UNLOCK_DISPATCING |
23 |
| -//! │0│ │3│ ┊ │ │ │ │ ┘ |
24 |
| -//! │ │ │ │ ┊ │ │ │ │ ┐ |
25 |
| -//! ├─┤ │ │ ┊ │ │ │ │ mtx unlock │ I_UNLOCK |
26 |
| -//! │1│ │ │ ┊ exit_task │ │ │ │ ┘ |
27 |
| -//! │ │ │ │ ┌┴┐ ◀───────────── └┬┘ └┬┘ |
28 |
| -//! │ │ │ │ │ │ ┊ ┊ |
| 8 | +//! mtx pri main task1 pri |
| 9 | +//! │1│ │3│ │ │ ┊ ┊ |
| 10 | +//! │ │ │ │ │ │ ┊ ┊ ┐ |
| 11 | +//! ├─┤ ├─┤ │ │ mtx lock ┊ ┊ │ I_LOCK |
| 12 | +//! │0│ │1│ │ │ ┊ ┊ ┘ |
| 13 | +//! │ │ │ │ │ │ activate ┊ ┊ |
| 14 | +//! │ │ │ │ │ │ ─────────────► ┊ ┊ |
| 15 | +//! │ │ │ │ │ │ park ┊ ┊ |
| 16 | +//! │ │ │ │ └┬┘ ─────────────► ┌┴┐ ┌┴┐ |
| 17 | +//! │ │ │ │ │ │ │ │1│ |
| 18 | +//! │ │ │ │ │ mtx lock │ │ │ │ |
| 19 | +//! │ │ │ │ ┌┴┐ ◀───────────── └┬┘ │ │ |
| 20 | +//! │ │ │ │ │ │ │ │ │ |
| 21 | +//! │ │ │ │ │ │ mtx unlock │ │ │ ┐ |
| 22 | +//! ├─┤ ├─┤ └┬┘ ─────────────► ┌┴┐ │ │ │ I_UNLOCK_DISPATCING |
| 23 | +//! │0│ │3│ ┊ │ │ │ │ ┘ |
| 24 | +//! │ │ │ │ ┊ │ │ │ │ ┐ |
| 25 | +//! ├─┤ │ │ ┊ │ │ │ │ mtx unlock │ I_UNLOCK |
| 26 | +//! │1│ │ │ ┊ exit_task │ │ │ │ ┘ |
| 27 | +//! │ │ │ │ ┌┴┐ ◀───────────── └┬┘ └┬┘ |
| 28 | +//! │ │ │ │ │ │ ┊ ┊ |
29 | 29 | //!
|
30 | 30 | //! pri: effective priority (assuming mtx uses the priority ceiling protocol)
|
31 | 31 | //! ```
|
|
0 commit comments