Что такое LWP и как определить LWP из потока?

Когда падает многопоточный процесс в gdb видим что-то вроде:

(gdb) info threads

Id Target Id Frame

  • 1 Thread 0x7feabf7a0700 (LWP 28741) 0x000000000040076b in fun ()

  • 2 Thread 0x7feac17a4700 (LWP 28737) 0x00000000004006f7 in one ()

  • 3 Thread 0x7feac0fa3700 (LWP 28738) 0x000000000040071a in two ()

  • 4 Thread 0x7feac1f8d700 (LWP 28736) 0x000000000040085d in main ()

  • 5 Thread 0x7feac07a2700 (LWP 28739) 0x000000000040073d in tree ()

  • 6 Thread 0x7feabffa1700 (LWP 28740) 0x0000000000400760 in four ()

А как узнать вот это LWP из самого потока, например, сразу при старте? Я знаю что если использовать getpid(), то для всех потоков id будет одинаковый, а ttid это ненмого другое как я понял...


Ответы (0 шт):