I am writing a WAI application on NT that is multithreaded. I am using
the C runtime _beginthread and _endthread functions(though I have also tried
the Win32 API CreateThread and ExitThread calls with the same results). It
seems that the threads are never destroyed, regardless of whether I
explicitly call _endthread(or ExitThread) or just return from the thread
routine.
I have created a dummy ONEiiop10.dll that has empty functions of what we
call in the real ONEiiop10.dll and everything works great with respect to
the threads. I have also commented out the code that calls into the dll and
it still exhibits this problem, so merely linking to real ONEiiop10 causes
the problems. Looking at this, I must assume that it is something in the
real ONEiiop10's thread detach processing that is causing this problem.
The development is being done with VC++ 6.0(linked with the
multithreaded C libraries) using version 3.5.1 of the ONEiiop10 libraries, I
have also tried it with VC++ 4.2(linked with the multithreaded C libraries)
and it has the same problem. I am using the orb_r.dll in conjunction with
ONEiiop10.dll.
Has anyone experienced this and found a fix? Do I need to use a newer
or different versions of the libraries?
thanks,
Brian Bathe