mirror of
https://github.com/opencv/opencv.git
synced 2026-07-29 15:23:05 +04:00
core(ocl): don't expose exceptions from OpenCL callback
to avoid silent crashes of OpenCL worker threads.
This commit is contained in:
@@ -2834,7 +2834,22 @@ extern "C" {
|
||||
|
||||
static void CL_CALLBACK oclCleanupCallback(cl_event e, cl_int, void *p)
|
||||
{
|
||||
((cv::ocl::Kernel::Impl*)p)->finit(e);
|
||||
try
|
||||
{
|
||||
((cv::ocl::Kernel::Impl*)p)->finit(e);
|
||||
}
|
||||
catch (const cv::Exception& exc)
|
||||
{
|
||||
CV_LOG_ERROR(NULL, "OCL: Unexpected OpenCV exception in OpenCL callback: " << exc.what());
|
||||
}
|
||||
catch (const std::exception& exc)
|
||||
{
|
||||
CV_LOG_ERROR(NULL, "OCL: Unexpected C++ exception in OpenCL callback: " << exc.what());
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
CV_LOG_ERROR(NULL, "OCL: Unexpected unknown C++ exception in OpenCL callback");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user