From a2716e34c35704a37658c20cd374d98bed17b6a3 Mon Sep 17 00:00:00 2001 From: "Kenneth Benzie (Benie)" Date: Mon, 5 May 2025 10:30:15 +0100 Subject: [PATCH] [SYCL][CL] Fix ownership of native handle in sycl::make_queue --- sycl/include/sycl/backend.hpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sycl/include/sycl/backend.hpp b/sycl/include/sycl/backend.hpp index bfc1e681d8a98..0721a8bfc3abc 100644 --- a/sycl/include/sycl/backend.hpp +++ b/sycl/include/sycl/backend.hpp @@ -327,18 +327,16 @@ std::enable_if_t::MakeQueue == true, make_queue(const typename backend_traits::template input_type &BackendObject, const context &TargetContext, const async_handler Handler = {}) { - auto KeepOwnership = - Backend == backend::ext_oneapi_cuda || Backend == backend::ext_oneapi_hip; if constexpr (Backend == backend::ext_oneapi_level_zero) { return detail::make_queue( detail::ur::cast( std::get(BackendObject.NativeHandle)), - false, TargetContext, nullptr, KeepOwnership, {}, Handler, Backend); - } - if constexpr (Backend != backend::ext_oneapi_level_zero) { + false, TargetContext, nullptr, /*KeepOwnership*/ false, {}, Handler, + Backend); + } else { return detail::make_queue( detail::ur::cast(BackendObject), false, - TargetContext, nullptr, KeepOwnership, {}, Handler, Backend); + TargetContext, nullptr, /*KeepOwnership*/ true, {}, Handler, Backend); } }