From fd14f9e5ff091f6ddcbf332709ba408527294508 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Mon, 8 Jan 2018 15:55:21 +0000 Subject: COMPMID-783: Segfault in OCLGrind Enforce clFinish to be called on destruction of the CLScheduler to ensure that no leftovers are in the queue which might lead to the retain of the queue and its deferred destruction. Change-Id: Ic71933f65cdccd74f4f01a6e2ec1a049995f5b50 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/115389 Reviewed-by: Michalis Spyrou Tested-by: Jenkins --- src/runtime/CL/CLScheduler.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/runtime/CL/CLScheduler.cpp') diff --git a/src/runtime/CL/CLScheduler.cpp b/src/runtime/CL/CLScheduler.cpp index bf13a25693..c947b7acc4 100644 --- a/src/runtime/CL/CLScheduler.cpp +++ b/src/runtime/CL/CLScheduler.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017 ARM Limited. + * Copyright (c) 2016, 2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -35,6 +35,11 @@ CLScheduler::CLScheduler() { } +CLScheduler::~CLScheduler() +{ + _queue.finish(); +} + CLScheduler &CLScheduler::get() { std::call_once(_initialize_symbols, opencl_is_available); -- cgit v1.2.1