I need to implement a system call inside minix that waits until some condition is true before it returns. However, I am finding that simply trying something like
while (var != desired_value)
{
// wait
}
does not work because while it does block the process, it also blocks every other process running in minix. I cannot even switch to another virtual terminal and log in. I thought minix processes were supposed to run independently of one another, but it looks like when any process blocks on a system call then all of the other processes are simultaneously suspended. Can this be correct? Thank you