(Working in Win32 api , in C environment with VS2010)
I have a two thread app. The first thread forks the second and waits for a given interval - 'TIMEOUT', and then calls TerminateThread()
on it.
Meanwhile, second thread calls NetServerEnum()
.
It appears that when timeout is reached , whether NetServerEnum
returned successfully or not, the first thread get deadlocked.
I've already noticed that NetServerEnum
creates worker threads of it's own.
I ultimately end up with one of those threads in deadlock, typically on ntdll.dll!RtlInitializeExceptionChain
, unable to exit my process gracefully.