projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rename shm_handle to lttng_ust_shm_handle
[lttng-ust.git]
/
libust
/
lttng-ust-abi.c
diff --git
a/libust/lttng-ust-abi.c
b/libust/lttng-ust-abi.c
index 0c0d6bb726f9c62804f9f17ee7f726bd5627bf93..c9623713dcd211a9ec6dfef5073e8d46b2acccb9 100644
(file)
--- a/
libust/lttng-ust-abi.c
+++ b/
libust/lttng-ust-abi.c
@@
-177,16
+177,8
@@
void objd_table_destroy(void)
{
int i;
{
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;
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, <tng_ops);
int root_handle;
root_handle = objd_alloc(NULL, <tng_ops);
- assert(root_handle == 0);
return root_handle;
}
return root_handle;
}
@@
-281,8
+272,14
@@
long lttng_abi_add_context(int objd,
return -EPERM;
switch (context_param->ctx) {
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:
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;
}
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->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;
if (!chan) {
ret = -EINVAL;
goto chan_error;
@@
-632,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);
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;
}
default:
return -EINVAL;
}
@@
-653,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)
{
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:
{
switch (cmd) {
case LTTNG_UST_STREAM:
{
@@
-662,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);
}
/* 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;
}
default:
return -EINVAL;
}
@@
-727,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.)
*
* 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)
{
*/
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;
switch (cmd) {
default:
return -EINVAL;
@@
-751,6
+754,7
@@
int lttng_rb_release(int objd)
buf = priv->buf;
channel = priv->ltt_chan;
free(priv);
buf = priv->buf;
channel = priv->ltt_chan;
free(priv);
+ channel->ops->buffer_read_close(buf, channel->handle);
return objd_unref(channel->objd);
}
return objd_unref(channel->objd);
}
This page took
0.02617 seconds
and
4
git commands to generate.