[omniORB] NT: timedwait waits forever

Jan Lessner jan@c-lab.de
Fri, 31 Jul 1998 11:24:27 +0200


Hi omniorb'ers
I have problems with timedwait on NT. When I create an omni_condition
and call its timedwait function, the call never returns. Here is the
test program. The same stuff works perfectly on Solaris. I'm using
omniORB 2.5.0 with the recommended patch for the omnithread library for
mixing omnithreads with non-omnithreads.

#include <stdio.h>
#include <omnithread.h>

static omni_condition waiter(new omni_mutex());

int main()
{
	int timeout = 5000;
	unsigned long sec, nsec;
	unsigned long relsec = timeout / 1000;
	unsigned long relnsec = (timeout % 1000) * 1000000;
	omni_thread::get_time(&sec, &nsec, relsec, relnsec);
	waiter.timedwait(sec, nsec);
}