This is the mail archive of the
pthreads-win32@sourceware.org
mailing list for the pthreas-win32 project.
pthread_join problem
- From: Stefan Eilemann <eilemann at gmail dot com>
- To: Pthreads-Win32 list <pthreads-win32 at sourceware dot org>
- Date: Tue, 27 Mar 2007 09:41:48 +0200
- Subject: pthread_join problem
Hello,
I am in the situation that a pthread_join does not return, even
though the thread has called pthread_exit.
I read the cleanup notes, but I think it does not apply here.
I am using the C cleanup code. One thread calls pthread_exit,
the other phtread_join. I've verified that the thread calling
pthread_exit does the longjmp to the thread start code, which
calls _endthreadex.
The main thread calling pthread_join does hang in
WaitForMultipleObjects.
The problem only occurs when I am using some unrelated(?)
external code (the Mellanox SDP Infiniband implementation),
so it could be caused by that, or just be a race appearing
with this code.
There are other pthreads in my application, which terminate
correctly with pthread_exit/pthread_join. Only one thread -
the network receive thread ;)- does exhibit the problem.
Do you have an idea what could be the cause of this problem?
Anything else I could try to find the problem?
Best Regards,
Stefan.
PS: I've tested the Win64 version, and it works like a charm.
--
http://www.equalizergraphics.com
http://www.linkedin.com/in/eilemann