#include "consumer.h"
#include "health.h"
#include "ust-app.h"
+#include "utils.h"
/*
* Receive a reply command status message from the consumer. Consumer socket
/*
* Delete the consumer_output object from the list and free the ptr.
+ *
+ * Should *NOT* be called with RCU read-side lock held.
*/
void consumer_destroy_output(struct consumer_output *obj)
{
rcu_read_unlock();
/* Finally destroy HT */
- lttng_ht_destroy(obj->socks);
+ ht_cleanup_push(obj->socks);
}
free(obj);
/*
* Copy consumer output and returned the newly allocated copy.
+ *
+ * Should *NOT* be called with RCU read-side lock held.
*/
struct consumer_output *consumer_copy_output(struct consumer_output *obj)
{
unsigned char *uuid,
uint32_t chan_id,
uint64_t tracefile_size,
- uint64_t tracefile_count)
+ uint64_t tracefile_count,
+ uint64_t session_id_per_pid)
{
assert(msg);
msg->u.ask_channel.output = output;
msg->u.ask_channel.type = type;
msg->u.ask_channel.session_id = session_id;
+ msg->u.ask_channel.session_id_per_pid = session_id_per_pid;
msg->u.ask_channel.uid = uid;
msg->u.ask_channel.gid = gid;
msg->u.ask_channel.relayd_id = relayd_id;
goto end;
}
- DBG3("Consumer pushing metadata on sock %d of len %lu", socket->fd, len);
+ DBG3("Consumer pushing metadata on sock %d of len %zu", socket->fd, len);
ret = lttcomm_send_unix_sock(socket->fd, metadata_str, len);
if (ret < 0) {