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
// SPDX-License-Identifier: MPL-2.0
pub
pub use ;
/// Halts the CPU until interrupts if no preemption is required.
///
/// This function will return if:
/// - preemption is required when calling this function,
/// - preemption is required during halting the CPU, or
/// - interrupts occur during halting the CPU.
///
/// This function will perform preemption before returning if
/// preemption is required.
///
/// # Panics
///
/// This function will panic if it is called in the atomic mode
/// ([`crate::task::atomic_mode`]).