projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move file creation/unlink from liblttng-ust-ctl to consumerd
[lttng-ust.git]
/
libringbuffer
/
ring_buffer_frontend.c
diff --git
a/libringbuffer/ring_buffer_frontend.c
b/libringbuffer/ring_buffer_frontend.c
index 3cba68d4e7ef354b9d9ddd842378459fa975a4d1..45d46054cf45b2e6b4025a2f15e068068968a1f8 100644
(file)
--- a/
libringbuffer/ring_buffer_frontend.c
+++ b/
libringbuffer/ring_buffer_frontend.c
@@
-773,7
+773,8
@@
static void channel_free(struct channel *chan,
* padding to let readers get those sub-buffers.
* Used for live streaming.
* @read_timer_interval: Time interval (in us) to wake up pending readers.
* padding to let readers get those sub-buffers.
* Used for live streaming.
* @read_timer_interval: Time interval (in us) to wake up pending readers.
- * @shm_path: Shared memory files path.
+ * @stream_fds: array of stream file descriptors.
+ * @nr_stream_fds: number of file descriptors in array.
*
* Holds cpu hotplug.
* Returns NULL on failure.
*
* Holds cpu hotplug.
* Returns NULL on failure.
@@
-787,7
+788,7
@@
struct lttng_ust_shm_handle *channel_create(const struct lttng_ust_lib_ring_buff
void *buf_addr, size_t subbuf_size,
size_t num_subbuf, unsigned int switch_timer_interval,
unsigned int read_timer_interval,
void *buf_addr, size_t subbuf_size,
size_t num_subbuf, unsigned int switch_timer_interval,
unsigned int read_timer_interval,
- const
char *shm_path
)
+ const
int *stream_fds, int nr_stream_fds
)
{
int ret;
size_t shmsize, chansize;
{
int ret;
size_t shmsize, chansize;
@@
-801,6
+802,9
@@
struct lttng_ust_shm_handle *channel_create(const struct lttng_ust_lib_ring_buff
else
nr_streams = 1;
else
nr_streams = 1;
+ if (nr_stream_fds != nr_streams)
+ return NULL;
+
if (lib_ring_buffer_check_config(config, switch_timer_interval,
read_timer_interval))
return NULL;
if (lib_ring_buffer_check_config(config, switch_timer_interval,
read_timer_interval))
return NULL;
@@
-825,7
+829,7
@@
struct lttng_ust_shm_handle *channel_create(const struct lttng_ust_lib_ring_buff
/* Allocate normal memory for channel (not shared) */
shmobj = shm_object_table_alloc(handle->table, shmsize, SHM_OBJECT_MEM,
/* Allocate normal memory for channel (not shared) */
shmobj = shm_object_table_alloc(handle->table, shmsize, SHM_OBJECT_MEM,
-
NULL
);
+
-1
);
if (!shmobj)
goto error_append;
/* struct channel is at object 0, offset 0 (hardcoded) */
if (!shmobj)
goto error_append;
/* struct channel is at object 0, offset 0 (hardcoded) */
@@
-856,7
+860,7
@@
struct lttng_ust_shm_handle *channel_create(const struct lttng_ust_lib_ring_buff
ret = channel_backend_init(&chan->backend, name, config,
subbuf_size, num_subbuf, handle,
ret = channel_backend_init(&chan->backend, name, config,
subbuf_size, num_subbuf, handle,
- s
hm_path
);
+ s
tream_fds
);
if (ret)
goto error_backend_init;
if (ret)
goto error_backend_init;
This page took
0.024823 seconds
and
4
git commands to generate.