in reply to Re^3: threads->create() blocks on Windows
in thread threads->create() blocks on Windows
Okay, so Cygwin is applying some magic here.
Anyway, I can reproduce the exact backtrace bulk88 posted and I can only see one thread having a msvcrt.dll frame on its callstack. So I isn't obvious to me why this should be a deadlock with the locks in msvcrt.dll. I looked at the msvcrt.dll code and can see the locking you're talking about. But I can't see how this should be the problem here.
Also I managed to create another deadlock case in which both threads have no msvcrt.dll frame on their stack, but directly call into ws2_32.dll from the Perl library.
Anyway, I'll give up on this problem for now and use Cygwin as a workaround.
Thanks for your help!
|
|---|