#include <helper.h>
#include "lttng-tracer.h"
+#define OBJ_NAME_LEN 16
+
static int lttng_ust_abi_close_in_progress;
static
const struct lttng_ust_objd_ops *ops;
int f_count;
void *owner;
+ char name[OBJ_NAME_LEN];
} s;
int freelist_next; /* offset freelist. end is -1. */
} u;
static
int objd_alloc(void *private_data, const struct lttng_ust_objd_ops *ops,
- void *owner)
+ void *owner, const char *name)
{
struct lttng_ust_obj *obj;
obj->u.s.f_count = 2; /* count == 1 : object is allocated */
/* count == 2 : allocated + hold ref */
obj->u.s.owner = owner;
+ strncpy(obj->u.s.name, name, OBJ_NAME_LEN);
+ obj->u.s.name[OBJ_NAME_LEN - 1] = '\0';
return obj - objd_table.array;
}
int root_handle;
/* root handles have NULL owners */
- root_handle = objd_alloc(NULL, <tng_ops, NULL);
+ root_handle = objd_alloc(NULL, <tng_ops, NULL, "root");
return root_handle;
}
session = lttng_session_create();
if (!session)
return -ENOMEM;
- session_objd = objd_alloc(session, <tng_session_ops, owner);
+ session_objd = objd_alloc(session, <tng_session_ops, owner, "session");
if (session_objd < 0) {
ret = session_objd;
goto objd_error;
transport_name = "<unknown>";
return -EINVAL;
}
- chan_objd = objd_alloc(NULL, ops, owner);
+ chan_objd = objd_alloc(NULL, ops, owner, "channel");
if (chan_objd < 0) {
ret = chan_objd;
goto objd_error;
int list_objd, ret;
struct lttng_ust_tracepoint_list *list;
- list_objd = objd_alloc(NULL, <tng_tracepoint_list_ops, owner);
+ list_objd = objd_alloc(NULL, <tng_tracepoint_list_ops, owner, "tp_list");
if (list_objd < 0) {
ret = list_objd;
goto objd_error;
int list_objd, ret;
struct lttng_ust_field_list *list;
- list_objd = objd_alloc(NULL, <tng_tracepoint_field_list_ops, owner);
+ list_objd = objd_alloc(NULL, <tng_tracepoint_field_list_ops, owner,
+ "tp_field_list");
if (list_objd < 0) {
ret = list_objd;
goto objd_error;
}
priv->buf = buf;
priv->lttng_chan = channel;
- stream_objd = objd_alloc(priv, &lib_ring_buffer_objd_ops, owner);
+ stream_objd = objd_alloc(priv, &lib_ring_buffer_objd_ops, owner, "open_stream");
if (stream_objd < 0) {
ret = stream_objd;
goto objd_error;
int event_objd, ret;
event_param->name[LTTNG_UST_SYM_NAME_LEN - 1] = '\0';
- event_objd = objd_alloc(NULL, <tng_enabler_ops, owner);
+ event_objd = objd_alloc(NULL, <tng_enabler_ops, owner, "enabler");
if (event_objd < 0) {
ret = event_objd;
goto objd_error;