posix: Avoid Giant lock in sched_yield()

Update #2555.
This commit is contained in:
Sebastian Huber
2016-03-17 08:27:47 +01:00
parent d37adfe5dd
commit 75aef54d16
+5 -3
View File
@@ -26,8 +26,10 @@
int sched_yield( void )
{
_Thread_Disable_dispatch();
_Thread_Yield( _Thread_Executing );
_Thread_Enable_dispatch();
Per_CPU_Control *cpu_self;
cpu_self = _Thread_Dispatch_disable();
_Thread_Yield( _Per_CPU_Get_executing( cpu_self ) );
_Thread_Dispatch_enable( cpu_self );
return 0;
}