driver: more reasonable thread wait timeout on Windows.
authorJehan <jehan@girinstud.io>
Wed, 11 Dec 2019 16:51:42 +0000 (17:51 +0100)
committerJehan <jehan@girinstud.io>
Fri, 13 Dec 2019 08:52:33 +0000 (09:52 +0100)
It used to be 5ms, which might not be long enough in some cases for the
thread to exit well, but then when set to 5000 (5s), it would slow down
any program depending on OpenBlas.

Let's just set it to 50ms, which is at least 10 times longer than
originally, but still reasonable in case of failed thread termination.

driver/others/blas_server_win32.c

index e27725b..5ecc442 100644 (file)
@@ -462,7 +462,7 @@ int BLASFUNC(blas_thread_shutdown)(void){
 
     for(i = 0; i < blas_num_threads - 1; i++){
       // Could also just use WaitForMultipleObjects
-      DWORD wait_thread_value = WaitForSingleObject(blas_threads[i], 5000);
+      DWORD wait_thread_value = WaitForSingleObject(blas_threads[i], 50);
 
 #ifndef OS_WINDOWSSTORE
       // TerminateThread is only available with WINAPI_DESKTOP and WINAPI_SYSTEM not WINAPI_APP in UWP