Skip to content

Commit 26c9d63

Browse files
Capsule deleters should service used renamed capsules too
1 parent 4eac023 commit 26c9d63

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

dpctl/_sycl_context.pyx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ cdef void _context_capsule_deleter(object o):
6363
o, "SyclContextRef"
6464
)
6565
DPCTLContext_Delete(CRef)
66+
elif pycapsule.PyCapsule_IsValid(o, "used_SyclContextRef"):
67+
CRef = <DPCTLSyclContextRef> pycapsule.PyCapsule_GetPointer(
68+
o, "used_SyclContextRef"
69+
)
70+
DPCTLContext_Delete(CRef)
6671

6772

6873
cdef void _init_helper(_SyclContext context, DPCTLSyclContextRef CRef):

dpctl/_sycl_event.pyx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,11 @@ cdef void _event_capsule_deleter(object o):
7171
o, "SyclEventRef"
7272
)
7373
DPCTLEvent_Delete(ERef)
74+
elif pycapsule.PyCapsule_IsValid(o, "used_SyclEventRef"):
75+
ERef = <DPCTLSyclEventRef> pycapsule.PyCapsule_GetPointer(
76+
o, "used_SyclEventRef"
77+
)
78+
DPCTLEvent_Delete(ERef)
7479

7580

7681
cdef void _init_helper(_SyclEvent event, DPCTLSyclEventRef ERef):

dpctl/_sycl_queue.pyx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,11 @@ cdef void _queue_capsule_deleter(object o):
160160
o, "SyclQueueRef"
161161
)
162162
DPCTLQueue_Delete(QRef)
163+
elif pycapsule.PyCapsule_IsValid(o, "used_SyclQueueRef"):
164+
QRef = <DPCTLSyclQueueRef> pycapsule.PyCapsule_GetPointer(
165+
o, "used_SyclQueueRef"
166+
)
167+
DPCTLQueue_Delete(QRef)
163168

164169

165170
cdef class _SyclQueue:

0 commit comments

Comments
 (0)