[asterisk-dev] Asterisk vs system thread IDs

Kirill Katsnelson kkm at adaptiveai.com
Tue Feb 15 01:03:28 CST 2011


On 110214 1915, Tilghman Lesher wrote:
> On Monday 14 February 2011 18:50:54 Kirill Katsnelson wrote:
>> `core show locks' and `core show threads' print 64-bit threads IDs, the
>> system uses 16-bit ones. Is there a way to map one to another?
>>
>> Linux 2.6.28 x86_64 here.
>
> /usr/include/bits/pthreadtypes.h says that the pthread_t type is an
> unsigned long int.  What weird x86_64 system are you running where a
> long integer is only 16-bits wide?

Ubuntu Server 9 jaunty, kernel 2.6.28.

Maybe I was wrong with the assumption they are 16 bit; they just never 
exceeded 16 bits in range in my experience. Let's say they are just two 
ways to identify threads. I am talking about numbers shown

a) by top -H -p `cat /var/run/asterisk.pid`
b) by gdb `info threads', second column.
c) the number shown by gdb as the mutex owner.

These are integers in the range of hundreds to slighlty above 30000, but 
that observation is unimportant here.

This versus the long numbers like 0x7fc919a4f950, shown by `core show 
locks' and `core show threads'. I do not know how to match these to 
threads in gdb.

  -kkm



More information about the asterisk-dev mailing list