sched.h¶
Functions
-
void emb_sched_lock(void)¶
emb_sched_lock() - Prevent thread preemption until the matching unlock.
Interrupts still run; a wake they cause is applied when the lock depth returns to zero (KRN-IRQ-022). Blocking with a nonzero timeout while locked is misuse (SPEC-001 §5.3).
Context: thread Blocking: no Timing: O(1) Ownership: none Configuration: Requirements: KRN-IRQ-022 Since: 0.2 Stability: yes
-
void emb_sched_unlock(void)¶
emb_sched_unlock() - Undo one emb_sched_lock(); at depth zero, reschedule if owed.
Context: thread Blocking: no Timing: O(1), plus one reschedule at depth 0 Ownership: none Configuration: Requirements: KRN-IRQ-022 Since: 0.2 Stability: yes
-
unsigned emb_sched_lock_depth(void)¶
emb_sched_lock_depth() - Current scheduler lock nesting depth.
Context: thread isr Blocking: no Timing: O(1) Ownership: none Configuration: Requirements: KRN-IRQ-022 Since: 0.2 Stability: yes