proc: change proc_yield() behaviour.
The current proc_yield() behaviour is to add the current process to the
ready list and call the scheduler. However, if a process is running at
the highest priority and calls proc_yield() it is added into the ready
list, but immediately re-executed by the scheduler starving all the
other processes.
The behaviour of proc_yield() has been changed so that it first picks
the next process from the ready list and then enqueue the current
running process into the ready list.
In this way the semantic of proc_yield() is exactly the same as
timer_delay(), or any other kind of delay that requires a context
switch.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3442
38d2e660-2303-0410-9eaa-
f027e97ec537