Hardcode windows PID 4 as "System".

This commit is contained in:
Bartosz Taudul 2019-08-17 03:44:47 +02:00
parent 40eb8a5a03
commit e9080bdbcd

View File

@ -188,9 +188,20 @@ void SysTraceSendExternalName( uint64_t thread )
} }
} }
#endif #endif
if( !threadSent )
{
GetProfiler().SendString( thread, "???", QueueType::ExternalThreadName );
}
const auto pid = GetProcessIdOfThread( hnd ); const auto pid = GetProcessIdOfThread( hnd );
CloseHandle( hnd ); CloseHandle( hnd );
if( pid != 0 ) if( pid != 0 )
{
if( pid == 4 )
{
GetProfiler().SendString( thread, "System", QueueType::ExternalName );
return;
}
else
{ {
const auto phnd = OpenProcess( PROCESS_QUERY_LIMITED_INFORMATION, FALSE, pid ); const auto phnd = OpenProcess( PROCESS_QUERY_LIMITED_INFORMATION, FALSE, pid );
if( phnd != INVALID_HANDLE_VALUE ) if( phnd != INVALID_HANDLE_VALUE )
@ -200,10 +211,6 @@ void SysTraceSendExternalName( uint64_t thread )
CloseHandle( phnd ); CloseHandle( phnd );
if( sz != 0 ) if( sz != 0 )
{ {
if( !threadSent )
{
GetProfiler().SendString( thread, "???", QueueType::ExternalThreadName );
}
auto ptr = buf + sz - 1; auto ptr = buf + sz - 1;
while( ptr > buf && *ptr != '\\' ) ptr--; while( ptr > buf && *ptr != '\\' ) ptr--;
if( *ptr == '\\' ) ptr++; if( *ptr == '\\' ) ptr++;
@ -213,8 +220,12 @@ void SysTraceSendExternalName( uint64_t thread )
} }
} }
} }
}
if( !threadSent )
{
GetProfiler().SendString( thread, "???", QueueType::ExternalThreadName ); GetProfiler().SendString( thread, "???", QueueType::ExternalThreadName );
}
GetProfiler().SendString( thread, "???", QueueType::ExternalName ); GetProfiler().SendString( thread, "???", QueueType::ExternalName );
} }