{
int i;
- for (i = 0; i < objd_table.allocated_len; i++) {
- struct obj *obj = _objd_get(i);
- const struct objd_ops *ops;
-
- if (!obj)
- continue;
- ops = obj->u.s.ops;
- if (ops->release)
- ops->release(i);
- }
+ for (i = 0; i < objd_table.allocated_len; i++)
+ (void) objd_unref(i);
free(objd_table.array);
objd_table.array = NULL;
objd_table.len = 0;
int root_handle;
root_handle = objd_alloc(NULL, <tng_ops);
- assert(root_handle == 0);
return root_handle;
}
return -EPERM;
switch (context_param->ctx) {
+ case LTTNG_UST_CONTEXT_PTHREAD_ID:
+ return lttng_add_pthread_id_to_ctx(ctx);
case LTTNG_UST_CONTEXT_VTID:
- //TODO return lttng_add_vtid_to_ctx(ctx);
+ return lttng_add_vtid_to_ctx(ctx);
default:
return -EINVAL;
}
static
long lttng_rb_cmd(int objd, unsigned int cmd, unsigned long arg)
{
- struct stream_priv_data *priv = objd_private(objd);
+ //struct stream_priv_data *priv = objd_private(objd);
switch (cmd) {
default:
buf = priv->buf;
channel = priv->ltt_chan;
free(priv);
+ channel->ops->buffer_read_close(buf, channel->handle);
return objd_unref(channel->objd);
}