static void client_buffer_begin(struct lib_ring_buffer *buf, u64 tsc,
unsigned int subbuf_idx,
- struct shm_handle *handle)
+ struct lttng_ust_shm_handle *handle)
{
struct channel *chan = shmp(handle, buf->backend.chan);
struct metadata_packet_header *header =
*/
static void client_buffer_end(struct lib_ring_buffer *buf, u64 tsc,
unsigned int subbuf_idx, unsigned long data_size,
- struct shm_handle *handle)
+ struct lttng_ust_shm_handle *handle)
{
struct channel *chan = shmp(handle, buf->backend.chan);
struct metadata_packet_header *header =
static int client_buffer_create(struct lib_ring_buffer *buf, void *priv,
int cpu, const char *name,
- struct shm_handle *handle)
+ struct lttng_ust_shm_handle *handle)
{
return 0;
}
static void client_buffer_finalize(struct lib_ring_buffer *buf,
void *priv, int cpu,
- struct shm_handle *handle)
+ struct lttng_ust_shm_handle *handle)
{
}
static
struct lib_ring_buffer *ltt_buffer_read_open(struct channel *chan,
- struct shm_handle *handle,
+ struct lttng_ust_shm_handle *handle,
int *shm_fd, int *wait_fd,
uint64_t *memory_map_size)
{
static
void ltt_buffer_read_close(struct lib_ring_buffer *buf,
- struct shm_handle *handle)
+ struct lttng_ust_shm_handle *handle)
{
lib_ring_buffer_release_read(buf, handle, 0);
}
}
static
-size_t ltt_packet_avail_size(struct channel *chan, struct shm_handle *handle)
+size_t ltt_packet_avail_size(struct channel *chan, struct lttng_ust_shm_handle *handle)
{
unsigned long o_begin;
return lib_ring_buffer_channel_is_disabled(chan);
}
+static
+int ltt_flush_buffer(struct channel *chan, struct lttng_ust_shm_handle *handle)
+{
+ struct lib_ring_buffer *buf;
+ int shm_fd, wait_fd;
+ uint64_t memory_map_size;
+
+ buf = channel_get_ring_buffer(&client_config, chan,
+ 0, handle, &shm_fd, &wait_fd,
+ &memory_map_size);
+ lib_ring_buffer_switch(&client_config, buf,
+ SWITCH_ACTIVE, handle);
+ return 0;
+}
+
static struct ltt_transport ltt_relay_transport = {
.name = "relay-" RING_BUFFER_MODE_TEMPLATE_STRING "-mmap",
.ops = {
//.get_hp_wait_queue = ltt_get_hp_wait_queue,
.is_finalized = ltt_is_finalized,
.is_disabled = ltt_is_disabled,
+ .flush_buffer = ltt_flush_buffer,
},
};