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: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org
|