Merge pull request #2314 from Jehan/wip/Jehan/fix-openblas-crash
Fix usage of TerminateThread() causing critical section corruption.
This commit is contained in:
commit
3da6d66da9
|
@ -462,11 +462,15 @@ int BLASFUNC(blas_thread_shutdown)(void){
|
||||||
|
|
||||||
for(i = 0; i < blas_num_threads - 1; i++){
|
for(i = 0; i < blas_num_threads - 1; i++){
|
||||||
// Could also just use WaitForMultipleObjects
|
// Could also just use WaitForMultipleObjects
|
||||||
WaitForSingleObject(blas_threads[i], 5); //INFINITE);
|
DWORD wait_thread_value = WaitForSingleObject(blas_threads[i], 5000);
|
||||||
|
|
||||||
#ifndef OS_WINDOWSSTORE
|
#ifndef OS_WINDOWSSTORE
|
||||||
// TerminateThread is only available with WINAPI_DESKTOP and WINAPI_SYSTEM not WINAPI_APP in UWP
|
// TerminateThread is only available with WINAPI_DESKTOP and WINAPI_SYSTEM not WINAPI_APP in UWP
|
||||||
|
if (WAIT_OBJECT_0 != wait_thread_value) {
|
||||||
TerminateThread(blas_threads[i],0);
|
TerminateThread(blas_threads[i],0);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
CloseHandle(blas_threads[i]);
|
CloseHandle(blas_threads[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue