Add a consumer daemon INIT command
[lttng-tools.git] / src / common / kernel-consumer / kernel-consumer.c
index 4e93bee915463bccba902d646f72f2fdd1f20f87..74c6de399af9f260264eac8a01894f4a1487c599 100644 (file)
@@ -237,7 +237,7 @@ static int lttng_kconsumer_snapshot_channel(
                                produced_pos, nb_packets_per_stream,
                                stream->max_sb_size);
 
-               while (consumed_pos < produced_pos) {
+               while ((long) (consumed_pos - produced_pos) < 0) {
                        ssize_t read_len;
                        unsigned long len, padded_len;
 
@@ -1260,6 +1260,19 @@ int lttng_kconsumer_recv_cmd(struct lttng_consumer_local_data *ctx,
                }
                break;
        }
+       case LTTNG_CONSUMER_INIT:
+       {
+               ret_code = lttng_consumer_init_command(ctx,
+                               msg.u.init.sessiond_uuid);
+
+               health_code_update();
+               ret = consumer_send_status_msg(sock, ret_code);
+               if (ret < 0) {
+                       /* Somehow, the session daemon is not responding anymore. */
+                       goto end_nosignal;
+               }
+               break;
+       }
        default:
                goto end_nosignal;
        }
This page took 0.025367 seconds and 5 git commands to generate.