content_image/1014465.jpg
0xd0566f64 _pthread_body(??) + 0xe4 ---------- tid# 23593327 (pthread ID: 515) ---------- ... 0x102643e4 AppReport::threadMain()(??) + 0x1a4 0x102d0f90 Runnable::runThread(void*)(??) + 0x30 0xd0566f64 _pthread_body(??) + 0xe4 ---------- tid# 16122169 (pthread ID: 258) ---------- ... 0x102639ac AppsMngt::doSleep(timespec&)(??, ??) + 0x6c 0x1024751c AppsMngt::doMainLoop()(??) + 0x7c 0x100ece08 AppsMngt::threadMain()(??) + 0x88 0x102d0f90 Runnable::runThread(void*)(??) + 0x30 0xd0566f64 _pthread_body(??) + 0xe4 # 

You can easily identify in the output of Example 2-136 on page 171 all the expected initial threads of the process (pTID 1) by running the main()  function. Then, you see that a specific class method, <class>::threadMain() , was started for each of the remaining threads. The class names in the filtered list are suggestions for each thread, as shown in Example 2-137. 

# procstack 6029594|grep -E "main|threadMain" 0x10007eac main(??, ??) + 0xf2c 0x100e5f40 UnixSocket::threadMain()(??) + 0x160 0x102cd2d0 VmMonitor::threadMain()(??) + 0x3d0 0x1007180c HvncpSender::threadMain()(??) + 0x90c 0x100855ac HvncpReceiver::threadMain()(??) + 0x1fec 0x1008efa4 VlanCommunication::threadMain()(??) + 0x44 0x1007180c HvncpSender::threadMain()(??) + 0x90c 0x100855ac HvncpReceiver::threadMain()(??) + 0x1fec 0x1008efa4 VlanCommunication::threadMain()(??) + 0x44 0x100bb56c VmNetIntfHandler::threadMain()(??) + 0x2cc 0x102643e4 AppReport::threadMain()(??) + 0x1a4 0x100ece08 AppsMngt::threadMain()(??) + 0x88 # 

Comparing with the threads in Example 2-130 on page 166 where VM monitoring is not enabled, we notice here two extra triplets of communication threads: HvncpSender , HvncpReceiver , and VlanCommunication . These triplets are created when the communication with the underlying HMs is established, with one triplet per HM counterpart, as described in “HM-VMM communication establishment” on page 215. 

We now organize a bit of the bulk of information that is acquired by examining the daemon logs and thread structure. Table 2-5 describes each listed thread type. 

<img src='content_image/1014465.jpg'>

