Fix consumerd fd leak
[lttng-tools.git] / src / common / ust-consumer / ust-consumer.c
index 44a8240b055e55dd798e98874f642f1efc72c414..03c00a677ac4f53702dd79c68cc2759b897bdd4f 100644 (file)
@@ -859,13 +859,6 @@ int lttng_ustconsumer_recv_cmd(struct lttng_consumer_local_data *ctx,
                        goto end_channel_error;
                }
 
-               /*
-                * Set refcount to 1 for owner. Below, we will pass
-                * ownership to the consumer_thread_channel_poll()
-                * thread.
-                */
-               channel->refcount = 1;
-
                /* Build channel attributes from received message. */
                attr.subbuf_size = msg.u.ask_channel.subbuf_size;
                attr.num_subbuf = msg.u.ask_channel.num_subbuf;
@@ -890,6 +883,12 @@ int lttng_ustconsumer_recv_cmd(struct lttng_consumer_local_data *ctx,
                case LTTNG_UST_CHAN_PER_CPU:
                        channel->type = CONSUMER_CHANNEL_TYPE_DATA;
                        attr.type = LTTNG_UST_CHAN_PER_CPU;
+                       /*
+                        * Set refcount to 1 for owner. Below, we will
+                        * pass ownership to the
+                        * consumer_thread_channel_poll() thread.
+                        */
+                       channel->refcount = 1;
                        break;
                case LTTNG_UST_CHAN_METADATA:
                        channel->type = CONSUMER_CHANNEL_TYPE_METADATA;
This page took 0.023529 seconds and 4 git commands to generate.