X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fobject-internal.h;h=2b368c5510e46f86ea26758b44e8c939a0346ae6;hb=675860f431adca1ab381c80955c402f8480d8259;hp=545a20aadd21a7f9f9bd3b78971f9e64b0c5182b;hpb=f167d3c0c0904ef36e19fcd37f4f20d33b0e76b6;p=babeltrace.git diff --git a/include/babeltrace/object-internal.h b/include/babeltrace/object-internal.h index 545a20aa..2b368c55 100644 --- a/include/babeltrace/object-internal.h +++ b/include/babeltrace/object-internal.h @@ -59,6 +59,11 @@ void bt_object_release(void *ptr) { struct bt_object *obj = ptr; +#ifdef BT_LOGV + BT_LOGV("Releasing object: addr=%p, ref-count=%lu", ptr, + obj->ref_count.count); +#endif + if (obj && obj->release && !bt_object_get_ref_count(obj)) { obj->release(obj); } @@ -68,7 +73,14 @@ static inline void generic_release(struct bt_object *obj) { if (obj->parent) { - void *parent = obj->parent; + struct bt_object *parent = obj->parent; + +#ifdef BT_LOGV + BT_LOGV("Releasing parented object: addr=%p, ref-count=%lu, " + "parent-addr=%p, parent-ref-count=%lu", + obj, obj->ref_count.count, + parent, parent->ref_count.count); +#endif if (obj->parent_is_owner_listener) { /* @@ -110,6 +122,11 @@ void bt_object_set_parent(void *child_ptr, void *parent) return; } +#ifdef BT_LOGV + BT_LOGV("Setting object's parent: addr=%p, parent-addr=%p", + child_ptr, parent); +#endif + /* * It is assumed that a "child" being "parented" is publicly reachable. * Therefore, a reference to its parent must be taken. The reference