As the sched(7) man page says:
- When a blocked SCHED_FIFO thread becomes runnable, it will be inserted at the end of the list for its priority.
But officially there is no blocked state of a thread - there are only Interruptible Sleep (S) and Uninterruptible Sleep (D).
Questions:
- If a thread is sleeping on select(2) or clock_nanosleep(2), is that the Interruptible Sleep (both can be woken up on a signal)? I assume probably yes for both.
- After Interruptible Sleep, is the thread placed at the end of the scheduling list?
- The same as 2. but for Uninterruptible Sleep?
I think that answer to all of the questions is "Yes" but I have to be sure.