Fix: change order of fd get to fix error path
authorDavid Goulet <dgoulet@efficios.com>
Tue, 30 Apr 2013 19:32:31 +0000 (15:32 -0400)
committerDavid Goulet <dgoulet@efficios.com>
Tue, 30 Apr 2013 19:32:31 +0000 (15:32 -0400)
Last commit had a wrong error path that could lead to an unbalanced fd
put/get.

Signed-off-by: David Goulet <dgoulet@efficios.com>
src/bin/lttng-sessiond/ust-app.c

index d405939985a028ab41643a38a89a68523683aa75..e36238182d8f04e078d440dce4d3bee94b9c5360 100644 (file)
@@ -2537,13 +2537,6 @@ static int create_ust_app_metadata(struct ust_app_session *ua_sess,
                metadata->attr.type = LTTNG_UST_CHAN_METADATA;
        }
 
-       /* Get the right consumer socket for the application. */
-       socket = consumer_find_socket_by_bitness(app->bits_per_long, consumer);
-       if (!socket) {
-               ret = -EINVAL;
-               goto error_consumer;
-       }
-
        /* Need one fd for the channel. */
        ret = lttng_fd_get(LTTNG_FD_APPS, 1);
        if (ret < 0) {
@@ -2551,6 +2544,13 @@ static int create_ust_app_metadata(struct ust_app_session *ua_sess,
                goto error;
        }
 
+       /* Get the right consumer socket for the application. */
+       socket = consumer_find_socket_by_bitness(app->bits_per_long, consumer);
+       if (!socket) {
+               ret = -EINVAL;
+               goto error_consumer;
+       }
+
        /*
         * Keep metadata key so we can identify it on the consumer side. Assign it
         * to the registry *before* we ask the consumer so we avoid the race of the
This page took 0.02668 seconds and 4 git commands to generate.