OpenBLAS/driver/others
Jehan 1f6071590d Fix usage of TerminateThread() causing critical section corruption.
This patch was submitted to the GIMP project by a publisher wishing to
keep confidentiality (hence anonymously). I just pass along the patch.
Here is the patch explanation which came with:

First they remind us what Microsoft documentation says about
TerminateThread:
> TerminateThread is a dangerous function that should only be used in
> the most extreme cases. You should call TerminateThread only if you
> know exactly what the target thread is doing, and you control all of
> the code that the target thread could possibly be running at the time
> of the termination.
(https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-terminatethread)

Then they say that 5 milliseconds time-out might not be long enough for
the thread to exit gracefully. They propose to set it to a much higher
value (for instance here 5 seconds).

And finally you should always check the return value of
WaitForSingleObject(). In particular you want to run TerminateThread()
only if WaitForSingleObject() failed, not on success case.
2019-11-20 13:00:49 +01:00
..
CMakeLists.txt Fix typo in previous commit for arm dynamic arch 2018-12-07 19:37:33 +01:00
Makefile Add in runtime CPU detection for POWER. 2019-04-09 14:20:16 +10:00
abs.c Import GotoBLAS2 1.13 BSD version codes. 2011-01-24 14:54:24 +00:00
blas_l1_thread.c modify the blas_l1_thread.c for support multi-threded for L1 fuction with return value 2017-01-10 11:47:06 +08:00
blas_server.c Misc. typo fixes 2019-04-29 17:03:56 -04:00
blas_server_omp.c Add build-time option for OMP scheduler; document MULTITHREAD_THRESHOLD range (#1620) 2018-06-15 11:25:05 +02:00
blas_server_win32.c Fix usage of TerminateThread() causing critical section corruption. 2019-11-20 13:00:49 +01:00
divtable.c Remove all trailing whitespace except lapack-netlib 2014-06-27 12:05:18 -07:00
dynamic.c Add CPUID identification of Intel Ice Lake 2019-08-01 22:52:35 +02:00
dynamic_arm64.c Simplify OSX/IOS cross-compilation and add a CI test for it (#2279) 2019-10-08 20:13:14 +02:00
dynamic_power.c Replace several POWER8/9 C kernels with their gcc7-generated assembly versions (#2263) 2019-09-22 22:35:22 +02:00
init.c Fix errors in cpu enumeration with glibc 2.6 2019-05-07 13:34:52 +02:00
lamc3.c Remove all trailing whitespace except lapack-netlib 2014-06-27 12:05:18 -07:00
lamch.c Remove all trailing whitespace except lapack-netlib 2014-06-27 12:05:18 -07:00
lsame.c Import GotoBLAS2 1.13 BSD version codes. 2011-01-24 14:54:24 +00:00
memory.c Add NetBSD to the xBSD conditionals 2019-10-25 12:52:49 +02:00
memory_qalloc.c Disable the old QCDOC qalloc by default and copy utility functions from memory.c 2019-11-17 19:22:04 +01:00
openblas_env.c Refs #716. Only call getenv at init function. 2016-03-09 12:50:07 -05:00
openblas_error_handle.c Refs #716. Only call getenv at init function. 2016-03-09 12:50:07 -05:00
openblas_get_config.c address minor warnings from gcc7 2019-09-07 10:21:08 +03:00
openblas_get_num_procs.c Introduce openblas_get_num_threads and openblas_get_num_procs 2015-02-03 12:23:41 -05:00
openblas_get_num_threads.c Introduce openblas_get_num_threads and openblas_get_num_procs 2015-02-03 12:23:41 -05:00
openblas_get_parallel.c Update organization info. 2014-11-25 15:28:58 +08:00
openblas_set_num_threads.c Update organization info. 2014-11-25 15:28:58 +08:00
parameter.c ARM64: Move parameters from parameter.c to param.h 2018-10-22 01:45:51 -07:00
profile.c Remove all trailing whitespace except lapack-netlib 2014-06-27 12:05:18 -07:00
xerbla.c Update xerbla.c 2017-01-04 23:16:48 +01:00