From d81c145fa966c4973810a4e21a207adfa3cf1b24 Mon Sep 17 00:00:00 2001 From: yao Date: Tue, 28 May 2013 18:07:41 +0800 Subject: [PATCH] fix memory leak --- modules/ocl/src/hog.cpp | 1 + modules/ocl/src/pyrlk.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/ocl/src/hog.cpp b/modules/ocl/src/hog.cpp index ae74ed5..a351458 100644 --- a/modules/ocl/src/hog.cpp +++ b/modules/ocl/src/hog.cpp @@ -1580,6 +1580,7 @@ static void openCLExecuteKernel_hog(Context *clCxt , const char **source, string { cl_kernel kernel = openCLGetKernelFromSource(clCxt, source, kernelName); size_t wave_size = queryDeviceInfo(kernel); + openCLSafeCall(clReleaseKernel(kernel)); if (wave_size <= 16) { char build_options[64]; diff --git a/modules/ocl/src/pyrlk.cpp b/modules/ocl/src/pyrlk.cpp index 3b6edf7..a3e65dd 100644 --- a/modules/ocl/src/pyrlk.cpp +++ b/modules/ocl/src/pyrlk.cpp @@ -139,8 +139,9 @@ static void lkSparse_run(oclMat &I, oclMat &J, stringstream idxStr; idxStr << kernelName << "_C" << I.oclchannels() << "_D" << I.depth(); cl_kernel kernel = openCLGetKernelFromSource(clCxt, &pyrlk, idxStr.str()); - int wave_size = queryDeviceInfo(kernel); + openCLSafeCall(clReleaseKernel(kernel)); + static char opt[16] = {0}; sprintf(opt, " -D WAVE_SIZE=%d", wave_size); -- 2.7.4