Implement ustctl_register_done
[lttng-ust.git] / libust / lttng-ust-abi.c
index 0c0d6bb726f9c62804f9f17ee7f726bd5627bf93..1d32e777be7c62126f44c7281c0d4539c5835660 100644 (file)
@@ -177,16 +177,8 @@ void objd_table_destroy(void)
 {
        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;
@@ -216,7 +208,6 @@ int lttng_abi_create_root_handle(void)
        int root_handle;
 
        root_handle = objd_alloc(NULL, &lttng_ops);
-       assert(root_handle == 0);
        return root_handle;
 }
 
@@ -281,8 +272,14 @@ long lttng_abi_add_context(int objd,
                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);
+       case LTTNG_UST_CONTEXT_VPID:
+               return lttng_add_vpid_to_ctx(ctx);
+       case LTTNG_UST_CONTEXT_PROCNAME:
+               return lttng_add_procname_to_ctx(ctx);
        default:
                return -EINVAL;
        }
@@ -408,7 +405,10 @@ int lttng_abi_create_channel(int session_objd,
                                  chan_param->subbuf_size,
                                  chan_param->num_subbuf,
                                  chan_param->switch_timer_interval,
-                                 chan_param->read_timer_interval);
+                                 chan_param->read_timer_interval,
+                                 &chan_param->shm_fd,
+                                 &chan_param->wait_fd,
+                                 &chan_param->memory_map_size);
        if (!chan) {
                ret = -EINVAL;
                goto chan_error;
@@ -732,7 +732,7 @@ static const struct objd_ops lttng_metadata_ops = {
 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:
@@ -751,6 +751,7 @@ int lttng_rb_release(int objd)
                buf = priv->buf;
                channel = priv->ltt_chan;
                free(priv);
+               channel->ops->buffer_read_close(buf, channel->handle);
 
                return objd_unref(channel->objd);
        }
This page took 0.024158 seconds and 4 git commands to generate.