projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cleanup: ust-tracepoint-event.h: extract `__num_fields` in a variable
[lttng-ust.git]
/
libringbuffer
/
frontend.h
diff --git
a/libringbuffer/frontend.h
b/libringbuffer/frontend.h
index 89613d4cc64823a943ad3f42d17be83e0140d3c9..838f88e8eecf50d836dafb52b833e3aa103c65b4 100644
(file)
--- a/
libringbuffer/frontend.h
+++ b/
libringbuffer/frontend.h
@@
-28,6
+28,8
@@
*
* See ring_buffer_frontend.c for more information on wait-free algorithms.
*/
*
* See ring_buffer_frontend.c for more information on wait-free algorithms.
*/
+#include <stddef.h>
+#include <stdint.h>
#include <urcu/compiler.h>
#include <urcu/uatomic.h>
#include <urcu/compiler.h>
#include <urcu/uatomic.h>
@@
-64,7
+66,9
@@
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,
void *buf_addr,
size_t subbuf_size, size_t num_subbuf,
unsigned int switch_timer_interval,
- unsigned int read_timer_interval);
+ unsigned int read_timer_interval,
+ const int *stream_fds, int nr_stream_fds,
+ int64_t blocking_timeout);
/*
* channel_destroy finalizes all channel's buffers, waits for readers to
/*
* channel_destroy finalizes all channel's buffers, waits for readers to
@@
-130,6
+134,11
@@
extern int lib_ring_buffer_snapshot(struct lttng_ust_lib_ring_buffer *buf,
unsigned long *consumed,
unsigned long *produced,
struct lttng_ust_shm_handle *handle);
unsigned long *consumed,
unsigned long *produced,
struct lttng_ust_shm_handle *handle);
+extern int lib_ring_buffer_snapshot_sample_positions(
+ struct lttng_ust_lib_ring_buffer *buf,
+ unsigned long *consumed,
+ unsigned long *produced,
+ struct lttng_ust_shm_handle *handle);
extern void lib_ring_buffer_move_consumer(struct lttng_ust_lib_ring_buffer *buf,
unsigned long consumed_new,
struct lttng_ust_shm_handle *handle);
extern void lib_ring_buffer_move_consumer(struct lttng_ust_lib_ring_buffer *buf,
unsigned long consumed_new,
struct lttng_ust_shm_handle *handle);
@@
-161,9
+170,14
@@
static inline
void lib_ring_buffer_put_next_subbuf(struct lttng_ust_lib_ring_buffer *buf,
struct lttng_ust_shm_handle *handle)
{
void lib_ring_buffer_put_next_subbuf(struct lttng_ust_lib_ring_buffer *buf,
struct lttng_ust_shm_handle *handle)
{
+ struct channel *chan;
+
+ chan = shmp(handle, buf->backend.chan);
+ if (!chan)
+ return;
lib_ring_buffer_put_subbuf(buf, handle);
lib_ring_buffer_put_subbuf(buf, handle);
- lib_ring_buffer_move_consumer(buf, subbuf_align(buf->cons_snapshot,
-
shmp(handle, buf->backend.chan)),
handle);
+ lib_ring_buffer_move_consumer(buf, subbuf_align(buf->cons_snapshot,
chan),
+ handle);
}
extern void channel_reset(struct channel *chan);
}
extern void channel_reset(struct channel *chan);
This page took
0.036171 seconds
and
4
git commands to generate.