From f263fe145af81282a6a90f33a4c99455c2397c24 Mon Sep 17 00:00:00 2001 From: Vadim Pisarevsky Date: Sun, 1 Dec 2013 22:14:15 +0400 Subject: [PATCH] trying to guess and fix strange failure in core test --- modules/core/src/ocl.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/core/src/ocl.cpp b/modules/core/src/ocl.cpp index 9032546e40..1d12200c4e 100644 --- a/modules/core/src/ocl.cpp +++ b/modules/core/src/ocl.cpp @@ -2719,17 +2719,17 @@ public: cl_command_queue q = (cl_command_queue)Queue::getDefault().ptr(); clFinish(q); + UMatDataAutoLock lock(u); + if( u->hostCopyObsolete() && u->handle && u->tempCopiedUMat() && u->refcount > 0 && u->origdata) { - UMatDataAutoLock lock(u); clEnqueueReadBuffer(q, (cl_mem)u->handle, CL_TRUE, 0, u->size, u->origdata, 0, 0, 0); u->markHostCopyObsolete(false); } else if( u->copyOnMap() && u->deviceCopyObsolete() && u->data ) { - UMatDataAutoLock lock(u); clEnqueueWriteBuffer(q, (cl_mem)u->handle, CL_TRUE, 0, u->size, u->data, 0, 0, 0); }