X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=libust%2Flttng-ust-abi.c;h=c9623713dcd211a9ec6dfef5073e8d46b2acccb9;hb=43d330a4708732a69334f8e1439f1d0c64770a50;hp=6eb74ed8170d2b5ae1bdcd2c63a7fc57dc0af14e;hpb=fb50c39dd77bec752b9695345fc2fab6cc7b9b46;p=lttng-ust.git diff --git a/libust/lttng-ust-abi.c b/libust/lttng-ust-abi.c index 6eb74ed8..c9623713 100644 --- a/libust/lttng-ust-abi.c +++ b/libust/lttng-ust-abi.c @@ -208,7 +208,6 @@ int lttng_abi_create_root_handle(void) int root_handle; root_handle = objd_alloc(NULL, <tng_ops); - assert(root_handle == 0); return root_handle; } @@ -273,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; } @@ -627,6 +632,8 @@ long lttng_channel_cmd(int objd, unsigned int cmd, unsigned long arg) return ltt_channel_enable(channel); case LTTNG_UST_DISABLE: return ltt_channel_disable(channel); + case LTTNG_UST_FLUSH_BUFFER: + return channel->ops->flush_buffer(channel->chan, channel->handle); default: return -EINVAL; } @@ -648,6 +655,8 @@ long lttng_channel_cmd(int objd, unsigned int cmd, unsigned long arg) static long lttng_metadata_cmd(int objd, unsigned int cmd, unsigned long arg) { + struct ltt_channel *channel = objd_private(objd); + switch (cmd) { case LTTNG_UST_STREAM: { @@ -657,6 +666,8 @@ long lttng_metadata_cmd(int objd, unsigned int cmd, unsigned long arg) /* stream used as output */ return lttng_abi_open_stream(objd, stream); } + case LTTNG_UST_FLUSH_BUFFER: + return channel->ops->flush_buffer(channel->chan, channel->handle); default: return -EINVAL; } @@ -722,13 +733,10 @@ static const struct objd_ops lttng_metadata_ops = { * * This object descriptor implements lttng commands: * (None for now. Access is done directly though shm.) - * TODO: Add buffer flush. */ static long lttng_rb_cmd(int objd, unsigned int cmd, unsigned long arg) { - //struct stream_priv_data *priv = objd_private(objd); - switch (cmd) { default: return -EINVAL;