|
|
@@ -467,7 +467,9 @@ void init_ops(py::module m) { |
|
|
|
m.def("delete_rng_handle", [](size_t handle){ |
|
|
|
// RNG op might execute after handle released due to async dispatch, so |
|
|
|
// we need sync before delete a handle to avoid memory leak or use-after-free |
|
|
|
python::interpreter_for_py->sync(); |
|
|
|
if(python::interpreter_for_py->check_available()){ |
|
|
|
python::interpreter_for_py->sync(); |
|
|
|
} |
|
|
|
mgb::CompNode::sync_all(); |
|
|
|
py_task_q.wait_all_task_finish(); |
|
|
|
rng::delete_handle(handle); |
|
|
|