Commit 0084dee0 authored by Andrey Pavlenko's avatar Andrey Pavlenko Committed by OpenCV Buildbot

Merge pull request #2448 from akarsakov:ocl_cxt_termination

parents 1f8df38d 806e9241
...@@ -596,9 +596,16 @@ protected: ...@@ -596,9 +596,16 @@ protected:
CV_Assert(this != currentContext); CV_Assert(this != currentContext);
#ifdef CL_VERSION_1_2 #ifdef CL_VERSION_1_2
if (supportsFeature(FEATURE_CL_VER_1_2)) #ifdef WIN32
// if process is on termination stage (ExitProcess was called and other threads were terminated)
// then disable device release because it may cause program hang
if (!__termination)
#endif
{ {
openCLSafeCall(clReleaseDevice(clDeviceID)); if (supportsFeature(FEATURE_CL_VER_1_2))
{
openCLSafeCall(clReleaseDevice(clDeviceID));
}
} }
#endif #endif
if (deviceInfoImpl._id < 0) // not in the global registry, so we should cleanup it if (deviceInfoImpl._id < 0) // not in the global registry, so we should cleanup it
...@@ -617,7 +624,7 @@ protected: ...@@ -617,7 +624,7 @@ protected:
#ifdef WIN32 #ifdef WIN32
// if process is on termination stage (ExitProcess was called and other threads were terminated) // if process is on termination stage (ExitProcess was called and other threads were terminated)
// then disable command queue release because it may cause program hang // then disable context release because it may cause program hang
if (!__termination) if (!__termination)
#endif #endif
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment