[Kernel] Move the ++/-- operator outside of condition.

This commit is contained in:
Bernard Xiong 2019-05-09 08:38:18 +08:00
parent 6e89f70e92
commit 4127cc13bf
1 changed files with 8 additions and 2 deletions

View File

@ -42,12 +42,16 @@ rt_base_t rt_cpus_lock(void)
pcpu = rt_cpu_self(); pcpu = rt_cpu_self();
if (pcpu->current_thread != RT_NULL) if (pcpu->current_thread != RT_NULL)
{ {
if (pcpu->current_thread->cpus_lock_nest++ == 0) register rt_uint16_t lock_nest = pcpu->current_thread->cpus_lock_nest;
pcpu->current_thread->cpus_lock_nest++;
if (lock_nest == 0)
{ {
pcpu->current_thread->scheduler_lock_nest++; pcpu->current_thread->scheduler_lock_nest++;
rt_hw_spin_lock(&_cpus_lock); rt_hw_spin_lock(&_cpus_lock);
} }
} }
return level; return level;
} }
RTM_EXPORT(rt_cpus_lock); RTM_EXPORT(rt_cpus_lock);
@ -61,7 +65,9 @@ void rt_cpus_unlock(rt_base_t level)
if (pcpu->current_thread != RT_NULL) if (pcpu->current_thread != RT_NULL)
{ {
if (--pcpu->current_thread->cpus_lock_nest == 0) pcpu->current_thread->cpus_lock_nest--;
if (pcpu->current_thread->cpus_lock_nest == 0)
{ {
pcpu->current_thread->scheduler_lock_nest--; pcpu->current_thread->scheduler_lock_nest--;
rt_hw_spin_unlock(&_cpus_lock); rt_hw_spin_unlock(&_cpus_lock);