From a958e8d966f5af64c84412ca801a405042bbcc0b Mon Sep 17 00:00:00 2001 From: Wenzel Jakob Date: Mon, 4 Dec 2023 15:26:56 +0100 Subject: [PATCH] Ensure GIL is held when releasing ``nb::ndarray`` (fixes #377) --- src/nb_ndarray.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/nb_ndarray.cpp b/src/nb_ndarray.cpp index 6e746997..ced23439 100644 --- a/src/nb_ndarray.cpp +++ b/src/nb_ndarray.cpp @@ -537,6 +537,8 @@ void ndarray_dec_ref(ndarray_handle *th) noexcept { if (rc_value == 0) { check(false, "ndarray_dec_ref(): reference count became negative!"); } else if (rc_value == 1) { + gil_scoped_acquire guard; + Py_XDECREF(th->owner); Py_XDECREF(th->self); managed_dltensor *mt = th->ndarray;