From b2da1cdcc2e9b7fd95b3cda7ff8caa9f51c68085 Mon Sep 17 00:00:00 2001 From: peng xiao Date: Thu, 27 Jun 2013 10:20:21 +0800 Subject: [PATCH] Temporarily disable command queue release as it causes program hang at exit --- modules/ocl/src/initialization.cpp | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/modules/ocl/src/initialization.cpp b/modules/ocl/src/initialization.cpp index d4841fc..3dd0ec4 100644 --- a/modules/ocl/src/initialization.cpp +++ b/modules/ocl/src/initialization.cpp @@ -198,7 +198,8 @@ namespace cv if(clCmdQueue) { - openCLSafeCall(clReleaseCommandQueue(clCmdQueue)); + //temporarily disable command queue release as it causes program hang at exit + //openCLSafeCall(clReleaseCommandQueue(clCmdQueue)); clCmdQueue = 0; } @@ -1075,26 +1076,3 @@ namespace cv }//namespace ocl }//namespace cv - -#if defined BUILD_SHARED_LIBS && defined CVAPI_EXPORTS && defined WIN32 && !defined WINCE -#include -BOOL WINAPI DllMain( HINSTANCE, DWORD fdwReason, LPVOID ); - -BOOL WINAPI DllMain( HINSTANCE, DWORD fdwReason, LPVOID ) -{ - if( fdwReason == DLL_PROCESS_DETACH ) - { - // application hangs if call clReleaseCommandQueue here, so release context only - // without context release application hangs as well - context_tear_down = 1; - Context* cv_ctx = Context::getContext(); - if(cv_ctx) - { - cl_context ctx = cv_ctx->impl->oclcontext; - if(ctx) - openCLSafeCall(clReleaseContext(ctx)); - } - } - return TRUE; -} -#endif -- 2.7.4