@ -1250,14 +1250,13 @@ static ResultCode CreateThread(Core::System& system, Handle* out_handle, VAddr e
Thread : : Create ( kernel , name , entry_point , priority , arg , processor_id , stack_top ,
Thread : : Create ( kernel , name , entry_point , priority , arg , processor_id , stack_top ,
* current_process ) ) ;
* current_process ) ) ;
const auto new_guest _handle = current_process - > GetHandleTable ( ) . Create ( thread ) ;
if ( new_guest _handle . Failed ( ) ) {
const auto new_thread _handle = current_process - > GetHandleTable ( ) . Create ( thread ) ;
if ( new_thread _handle . Failed ( ) ) {
LOG_ERROR ( Kernel_SVC , " Failed to create handle with error=0x{:X} " ,
LOG_ERROR ( Kernel_SVC , " Failed to create handle with error=0x{:X} " ,
new_guest _handle . Code ( ) . raw ) ;
return new_guest _handle . Code ( ) ;
new_thread _handle . Code ( ) . raw ) ;
return new_thread _handle . Code ( ) ;
}
}
thread - > SetGuestHandle ( * new_guest_handle ) ;
* out_handle = * new_guest_handle ;
* out_handle = * new_thread_handle ;
system . CpuCore ( thread - > GetProcessorID ( ) ) . PrepareReschedule ( ) ;
system . CpuCore ( thread - > GetProcessorID ( ) ) . PrepareReschedule ( ) ;