• Alexander Alekhin's avatar
    core(ocl): fix deadlock in UMatDataAutoLock · cec70052
    Alexander Alekhin authored
    UMatData locks are not mapped on real locks (they are mapped to some "pre-initialized" pool).
    
    Concurrent execution of these statements may lead to deadlock:
    - a.copyTo(b) from thread 1
    - c.copyTo(d) from thread 2
    where:
    - 'a' and 'd' are mapped to single lock "A".
    - 'b' and 'c' are mapped to single lock "B".
    
    Workaround is to process locks with strict order.
    cec70052
Name
Last commit
Last update
..
cuda Loading commit data...
opencl Loading commit data...
utils Loading commit data...
algorithm.cpp Loading commit data...
alloc.cpp Loading commit data...
arithm.cpp Loading commit data...
arithm_core.hpp Loading commit data...
arithm_simd.hpp Loading commit data...
array.cpp Loading commit data...
bufferpool.impl.hpp Loading commit data...
command_line_parser.cpp Loading commit data...
conjugate_gradient.cpp Loading commit data...
convert.avx2.cpp Loading commit data...
convert.cpp Loading commit data...
convert.fp16.cpp Loading commit data...
convert.hpp Loading commit data...
convert.sse4_1.cpp Loading commit data...
copy.cpp Loading commit data...
cuda_gpu_mat.cpp Loading commit data...
cuda_host_mem.cpp Loading commit data...
cuda_info.cpp Loading commit data...
cuda_stream.cpp Loading commit data...
datastructs.cpp Loading commit data...
directx.cpp Loading commit data...
directx.inc.hpp Loading commit data...
downhill_simplex.cpp Loading commit data...
dxt.cpp Loading commit data...
gl_core_3_1.cpp Loading commit data...
gl_core_3_1.hpp Loading commit data...
glob.cpp Loading commit data...
hal_internal.cpp Loading commit data...
hal_internal.hpp Loading commit data...
hal_replacement.hpp Loading commit data...
intel_gpu_gemm.inl.hpp Loading commit data...
kmeans.cpp Loading commit data...
lapack.cpp Loading commit data...
lda.cpp Loading commit data...
logger.cpp Loading commit data...
lpsolver.cpp Loading commit data...
mathfuncs.cpp Loading commit data...
mathfuncs_core.dispatch.cpp Loading commit data...
mathfuncs_core.simd.hpp Loading commit data...
matmul.cpp Loading commit data...
matop.cpp Loading commit data...
matrix.cpp Loading commit data...
matrix_decomp.cpp Loading commit data...
merge.cpp Loading commit data...
ocl.cpp Loading commit data...
ocl_deprecated.hpp Loading commit data...
opengl.cpp Loading commit data...
out.cpp Loading commit data...
ovx.cpp Loading commit data...
parallel.cpp Loading commit data...
parallel_pthreads.cpp Loading commit data...
pca.cpp Loading commit data...
persistence.cpp Loading commit data...
precomp.hpp Loading commit data...
rand.cpp Loading commit data...
softfloat.cpp Loading commit data...
split.cpp Loading commit data...
stat.cpp Loading commit data...
stat.dispatch.cpp Loading commit data...
stat.simd.hpp Loading commit data...
stl.cpp Loading commit data...
system.cpp Loading commit data...
tables.cpp Loading commit data...
trace.cpp Loading commit data...
types.cpp Loading commit data...
umatrix.cpp Loading commit data...
umatrix.hpp Loading commit data...
va_intel.cpp Loading commit data...