File tree Expand file tree Collapse file tree 2 files changed +5
-3
lines changed Expand file tree Collapse file tree 2 files changed +5
-3
lines changed Original file line number Diff line number Diff line change @@ -114,8 +114,9 @@ void event_impl::wait_and_throw(
114
114
if (Cmd)
115
115
Cmd->getQueue ()->throw_asynchronous ();
116
116
}
117
- if (MQueue)
118
- MQueue->throw_asynchronous ();
117
+ QueueImplPtr Queue = MQueue.lock ();
118
+ if (Queue)
119
+ Queue->throw_asynchronous ();
119
120
}
120
121
121
122
template <>
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ class context_impl;
25
25
using ContextImplPtr = std::shared_ptr<cl::sycl::detail::context_impl>;
26
26
class queue_impl ;
27
27
using QueueImplPtr = std::shared_ptr<cl::sycl::detail::queue_impl>;
28
+ using QueueImplWPtr = std::weak_ptr<cl::sycl::detail::queue_impl>;
28
29
29
30
class event_impl {
30
31
public:
@@ -147,7 +148,7 @@ class event_impl {
147
148
private:
148
149
RT::PiEvent MEvent = nullptr ;
149
150
ContextImplPtr MContext;
150
- QueueImplPtr MQueue;
151
+ QueueImplWPtr MQueue;
151
152
bool MOpenCLInterop = false ;
152
153
bool MHostEvent = true ;
153
154
std::unique_ptr<HostProfilingInfo> MHostProfilingInfo;
You can’t perform that action at this time.
0 commit comments