[omniORB] Omni Thread
David Hyde
davidh@cavendish.co.uk
Thu, 21 Jun 2001 09:19:38 +0100
Hi,
Can anyone tell me what I am doing wrong please? I'm building on Windows
2000 with OmniORB 3.02.
class CClass
{
omni_condition * m_pThreadCond;
omni_mutex * m_mtxThreadCond;
};
CClass::CClass()
{
m_mtxThreadCond = new omni_mutex;
m_pThreadCond = new omni_condition(m_mtxThreadCond);
}
CClass::A_Function_Running_In_A_Different_omni_thread
{
unsigned long lAbsSec, lAbsnSec;
omni_thread::get_time(&lAbsSec, &lAbsnSec, 5, 0);
int n = m_pThreadCond->timedwait(lAbsSec, lAbsnSec);
}
The call to timedwait() is never returning.
In omnithread\nt.cc the call to WaitForSingleObject() is waiting for the
correct amount of time, but the call to mutex->lock() is blocking. When
mutex->lock() is called mutex.crit.LockCount = -2 and
mutex.crit.RecursionCount = -1
Thanks for any help,
David
________________________________________________________
David Hyde
The Cavendish Organisation Ltd.
Admiral House
St. Leonards Rd Tel: +44 1753 836600
Windsor Fax: +44 1753 855021
Berkshire SL4 3BL
United Kingdom
email: davidh@cavendish.co.uk
http://www.cavendish.co.uk/
Confidential Information may be in this message. If you are not the intended
addressee please treat it as confidential, contact us immediately. Thank
you.
______________________________________________________________