Harmonize return code conventions in context handling
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 2 Aug 2017 19:24:00 +0000 (15:24 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 3 Aug 2017 16:08:45 +0000 (12:08 -0400)
src/bin/lttng-sessiond/context.c
src/bin/lttng-sessiond/ust-app.c

index 1e68bd8bb9ff2b9090146da82c36e8c90104a4c5..3c7c34df48d6c23b62c43b14e9908d7fb0f763e3 100644 (file)
@@ -55,7 +55,7 @@ static int add_kctx_all_channels(struct ltt_kernel_session *ksession,
                kctx_copy = trace_kernel_copy_context(kctx);
                if (!kctx_copy) {
                        PERROR("zmalloc ltt_kernel_context");
-                       ret = -ENOMEM;
+                       ret = -LTTNG_ERR_NOMEM;
                        goto error;
                }
 
@@ -119,7 +119,7 @@ static int add_uctx_to_channel(struct ltt_ust_session *usess,
        /* Check if context is duplicate */
        cds_list_for_each_entry(uctx, &uchan->ctx_list, list) {
                if (trace_ust_match_context(uctx, ctx)) {
-                       ret = -EEXIST;
+                       ret = LTTNG_ERR_UST_CONTEXT_EXIST;
                        goto duplicate;
                }
        }
@@ -140,7 +140,7 @@ static int add_uctx_to_channel(struct ltt_ust_session *usess,
                if (!agt) {
                        agt = agent_create(domain);
                        if (!agt) {
-                               ret = LTTNG_ERR_NOMEM;
+                               ret = -LTTNG_ERR_NOMEM;
                                goto error;
                        }
                        agent_add(agt, usess->agents);
@@ -165,7 +165,7 @@ static int add_uctx_to_channel(struct ltt_ust_session *usess,
        /* Create ltt UST context */
        uctx = trace_ust_create_context(ctx);
        if (uctx == NULL) {
-               ret = -EINVAL;
+               ret = LTTNG_ERR_UST_CONTEXT_INVAL;
                goto error;
        }
 
@@ -207,7 +207,7 @@ int context_kernel_add(struct ltt_kernel_session *ksession,
 
        kctx = trace_kernel_create_context(NULL);
        if (!kctx) {
-               ret = LTTNG_ERR_NOMEM;
+               ret = -LTTNG_ERR_NOMEM;
                goto error;
        }
 
@@ -339,7 +339,7 @@ int context_ust_add(struct ltt_ust_session *usess,
                /* Add ctx all events, all channels */
                cds_lfht_for_each_entry(chan_ht->ht, &iter.iter, uchan, node.node) {
                        ret = add_uctx_to_channel(usess, domain, uchan, ctx);
-                       if (ret < 0) {
+                       if (ret) {
                                ERR("Failed to add context to channel %s",
                                                uchan->name);
                                continue;
@@ -349,10 +349,10 @@ int context_ust_add(struct ltt_ust_session *usess,
        }
 
        switch (ret) {
-       case -EEXIST:
-               ret = LTTNG_ERR_UST_CONTEXT_EXIST;
+       case LTTNG_ERR_UST_CONTEXT_EXIST:
                break;
        case -ENOMEM:
+       case -LTTNG_ERR_NOMEM:
                ret = LTTNG_ERR_FATAL;
                break;
        case -EINVAL:
@@ -362,7 +362,11 @@ int context_ust_add(struct ltt_ust_session *usess,
                ret = LTTNG_ERR_UNKNOWN_DOMAIN;
                break;
        default:
-               ret = LTTNG_OK;
+               if (ret != 0 && ret != LTTNG_OK) {
+                       ret = ret > 0 ? ret : LTTNG_ERR_UNK;
+               } else {
+                       ret = LTTNG_OK;
+               }
                break;
        }
 
index eb0f837160edf5b533bbc822ef0e8ddd768962f4..e79455b01fb055588c7473a913f583ae9e567ad3 100644 (file)
@@ -2365,7 +2365,7 @@ int create_ust_app_channel_context(struct ust_app_session *ua_sess,
        ua_ctx = alloc_ust_app_ctx(uctx);
        if (ua_ctx == NULL) {
                /* malloc failed */
-               ret = -1;
+               ret = -ENOMEM;
                goto error;
        }
 
This page took 0.030326 seconds and 4 git commands to generate.