Myth warning. If your process happens to running real time this doesnt come
out too well. I guess you might argue the behaviour (not yielding) is right
but you might get some suprises, especially on an SMP box where the following
is not safe
while(!irq_occured)
schedule();
Take a look at stuff like sched_yield()