On 01/17/2014 08:36 AM, Xiong Zou wrote:
Hi Gordon,

An initial update on the test result:
1. Change m_subscriptions.stop(); to m_subscriptions.wait();

You need them both, keep the stop(), then add wait() after it. The stop() tells the thread to stop, the wait() waits for it to actually exit.

       Thread stuck at m_subscriptions.wait(), no further process.

2. add m_session.close(); before m_connection.close();

       Invalid argument
       IT.OR.MD.CS.RMS.HA.Primary: ../include/qpid/sys/posix/Mutex.h:120:
void qpid::sys::Mutex::unlock(): Assertion `0' failed.
       Abort (core dumped)

Hmm, that sounds like the session is not valid in some way....

3. After I enable to manually call m_subscriptions.cancel() as below, then
delete pListner; works well now.

                 for(unsigned int i; i < m_vecQueueUIDs.size(); i++)
                 {
                         if(!m_vecQueueUIDs[i].empty())
                                 m_subscriptions.cancel(m_vecQueueUIDs[i]);
                 }

Ok, great!


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to