staticvoid createLocalId( sal_Sequence **ppThreadId )
{
rtl_byte_sequence_constructNoDefault( ppThreadId , 4 + 16 );
sal_uInt32 id = osl::Thread::getCurrentIdentifier();
(*ppThreadId)->elements[0] = id & 0xFF;
(*ppThreadId)->elements[1] = (id >> 8) & 0xFF;
(*ppThreadId)->elements[2] = (id >> 16) & 0xFF;
(*ppThreadId)->elements[3] = (id >> 24) & 0xFF;
rtl_getGlobalProcessId( reinterpret_cast<sal_uInt8 *>(&(*ppThreadId)->elements[4]) );
}
extern"C"void SAL_CALL
uno_getIdOfCurrentThread( sal_Sequence **ppThreadId ) noexcept
{
IdContainer& id = getIdContainer(); if (!id.bInit)
{ // first time, that the thread enters the bridge
createLocalId( ppThreadId );
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.