From 750dce280bcc909d8296fe2ed36110248c9358c6 Mon Sep 17 00:00:00 2001 From: "Tikhomirova, Kseniya" Date: Mon, 6 Nov 2023 05:26:45 -0800 Subject: [PATCH] [SYCL] Fix wrong loop in deferred buffer release Signed-off-by: Tikhomirova, Kseniya --- sycl/source/detail/scheduler/scheduler.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sycl/source/detail/scheduler/scheduler.cpp b/sycl/source/detail/scheduler/scheduler.cpp index e2a2286f677e0..dde8333b971c1 100644 --- a/sycl/source/detail/scheduler/scheduler.cpp +++ b/sycl/source/detail/scheduler/scheduler.cpp @@ -419,8 +419,9 @@ void Scheduler::releaseResources(BlockingT Blocking) { // queue_impl, ~queue_impl is called and buffer for assert (which is created // with size only so all confitions for deferred release are satisfied) is // added to deferred mem obj storage. So we may end up with leak. - while (!isDeferredMemObjectsEmpty()) + do { cleanupDeferredMemObjects(Blocking); + } while (Blocking == BlockingT::BLOCKING && !isDeferredMemObjectsEmpty()); } MemObjRecord *Scheduler::getMemObjRecord(const Requirement *const Req) {