diff --git a/stimBuffApis/livoxGen1/openClCollatingAndMeshingEngine.cpp b/stimBuffApis/livoxGen1/openClCollatingAndMeshingEngine.cpp index fd3ab4b..5e028fb 100644 --- a/stimBuffApis/livoxGen1/openClCollatingAndMeshingEngine.cpp +++ b/stimBuffApis/livoxGen1/openClCollatingAndMeshingEngine.cpp @@ -230,9 +230,12 @@ void CL_CALLBACK OpenClCollatingAndMeshingEngine::compactKernelEventCallback( OpenClCollatingAndMeshingEngine* engine = static_cast(user_data); - if (!engine || !engine->compactIsRunning || !engine->compactKernelCb) + if (!engine || !engine->compactKernelCb) { return; } + // Stop the compact kernel + engine->stopCompactKernel(); + // Post to io_service to call callback on the correct thread if (engine->parent.device && engine->parent.device->componentThread) { @@ -248,9 +251,12 @@ void CL_CALLBACK OpenClCollatingAndMeshingEngine::collateKernelEventCallback( OpenClCollatingAndMeshingEngine* engine = static_cast(user_data); - if (!engine || !engine->collateIsRunning || !engine->collateKernelCb) + if (!engine || !engine->collateKernelCb) { return; } + // Stop the collate kernel + engine->stopCollateKernel(); + // Post to io_service to call callback on the correct thread if (engine->parent.device && engine->parent.device->componentThread) {