X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbindings%2Fpython%2Fbt2%2Fbt2%2Fnative_bt_trace.i.h;h=4b7f790426e1468997420657a0bcfa3cf6410b08;hb=498e7994d60bd0e9f63c3d5c0fd00eec77ba7c34;hp=03e6380acf2627e77197862c71a9217b7bb6bb46;hpb=84e438afc1b27f23047613c413e2caec283af065;p=babeltrace.git diff --git a/src/bindings/python/bt2/bt2/native_bt_trace.i.h b/src/bindings/python/bt2/bt2/native_bt_trace.i.h index 03e6380a..4b7f7904 100644 --- a/src/bindings/python/bt2/bt2/native_bt_trace.i.h +++ b/src/bindings/python/bt2/bt2/native_bt_trace.i.h @@ -32,18 +32,18 @@ trace_destroyed_listener(const bt_trace *trace, void *py_callable) SWIGTYPE_p_bt_trace, 0); if (!py_trace_ptr) { BT_LOGF_STR("Failed to create a SWIG pointer object."); - abort(); + bt_common_abort(); } py_res = PyObject_CallFunction(py_callable, "(O)", py_trace_ptr); - if (py_res) { - BT_ASSERT(py_res == Py_None); - } else { - loge_exception_append_cause( - "Trace's destruction listener (Python)", - BT_LOG_OUTPUT_LEVEL); + if (!py_res) { + logw_exception_clear(BT_LOG_OUTPUT_LEVEL); + goto end; } + BT_ASSERT(py_res == Py_None); + +end: Py_DECREF(py_trace_ptr); Py_XDECREF(py_res); }