Skip to content

Commit 6cf9b2f

Browse files
Avoid passing nullptr to sycl::queue::prefetch to avoid buggy hang (#612)
1 parent 7a939c9 commit 6cf9b2f

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

dpctl-capi/source/dpctl_sycl_queue_interface.cpp

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -514,15 +514,23 @@ DPCTLSyclEventRef DPCTLQueue_Prefetch(__dpctl_keep DPCTLSyclQueueRef QRef,
514514
{
515515
auto Q = unwrap(QRef);
516516
if (Q) {
517-
sycl::event ev;
518-
try {
519-
ev = Q->prefetch(Ptr, Count);
520-
} catch (sycl::runtime_error &re) {
517+
if (Ptr) {
518+
sycl::event ev;
519+
try {
520+
ev = Q->prefetch(Ptr, Count);
521+
} catch (sycl::runtime_error &re) {
522+
// todo: log error
523+
std::cerr << re.what() << '\n';
524+
return nullptr;
525+
}
526+
return wrap(new event(ev));
527+
}
528+
else {
521529
// todo: log error
522-
std::cerr << re.what() << '\n';
530+
std::cerr << "Attempt to prefetch USM-allocation at nullptr"
531+
<< '\n';
523532
return nullptr;
524533
}
525-
return wrap(new event(ev));
526534
}
527535
else {
528536
// todo: log error

0 commit comments

Comments
 (0)