Le 27 mai 2015 10:53 AM, "Juri Lelli" juri.lelli@arm.com a écrit :
Hi,
On 05/13/2015 04:32 AM, pi-cheng.chen wrote:
From: Vincent Guittot vincent.guittot@linaro.org
futhermore, some object are used several times
Vincent Guittot vincent.guittot@linaro.org
src/rt-app_parse_config.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/rt-app_parse_config.c b/src/rt-app_parse_config.c index fc404d6..33ea783 100644 --- a/src/rt-app_parse_config.c +++ b/src/rt-app_parse_config.c @@ -120,7 +120,6 @@ get_int_value_from(struct json_object *where, set_default_if_needed(key, value, have_def, def_value); assure_type_is(value, where, key, json_type_int); i_value = json_object_get_int(value);
json_object_put(value); log_info(PIN "key: %s, value: %d, type <int>", key, i_value); return i_value;
} @@ -137,7 +136,6 @@ get_bool_value_from(struct json_object *where, set_default_if_needed(key, value, have_def, def_value); assure_type_is(value, where, key, json_type_boolean); b_value = json_object_get_boolean(value);
json_object_put(value); log_info(PIN "key: %s, value: %d, type <bool>", key, b_value); return b_value;
} @@ -158,7 +156,6 @@ get_string_value_from(struct json_object *where, } assure_type_is(value, where, key, json_type_string); s_value = strdup(json_object_get_string(value));
json_object_put(value); log_info(PIN "key: %s, value: %s, type <string>", key, s_value); return s_value;
} @@ -508,6 +505,7 @@ get_opts_from_json_object(struct json_object *root,
rtapp_options_t *opts)
parse_global(global, opts); parse_resources(resources, opts); parse_tasks(tasks, opts);
json_object_put(tasks);
Why is this needed here (and not for global and resources too) ?
IIRC, There are several patches around ref count and memory management of json object. This patch fixes some issues for tasks object and the others objects are solved by other patches
Regards, Vincent
Thanks,
- Juri
}