session: Do not fail when creating default policy configuration
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Thu, 18 Apr 2013 07:07:25 +0000 (09:07 +0200)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Thu, 18 Apr 2013 11:17:05 +0000 (14:17 +0300)
Do not handle the small alloc failures because glib will abort
when memory is tight anyway.

include/session.h
plugins/session_policy_local.c
src/session.c

index e77bd56..5b7e07b 100644 (file)
@@ -95,7 +95,7 @@ void connman_session_policy_unregister(struct connman_session_policy *config);
 int connman_session_config_update(struct connman_session *session);
 void connman_session_destroy(struct connman_session *session);
 
-int connman_session_set_default_config(struct connman_session_config *config);
+void connman_session_set_default_config(struct connman_session_config *config);
 struct connman_session_config *connman_session_create_default_config(void);
 
 enum connman_session_roaming_policy connman_session_parse_roaming_policy(const char *policy);
index 7125f35..dfaeaea 100644 (file)
@@ -127,11 +127,6 @@ static struct policy_data *create_policy(const char *ident)
                return NULL;
 
        policy->config = connman_session_create_default_config();
-       if (policy->config == NULL) {
-               g_free(policy);
-               return NULL;
-       }
-
        policy->refcount = 1;
        policy->ident = g_strdup(ident);
 
@@ -369,7 +364,6 @@ static void update_session(struct connman_session *session)
 static void remove_policy(struct policy_data *policy)
 {
        connman_bool_t update = FALSE;
-       int err;
 
        if (policy->session != NULL)
                update = TRUE;
@@ -379,12 +373,7 @@ static void remove_policy(struct policy_data *policy)
        if (update == FALSE)
                return;
 
-       err = connman_session_set_default_config(policy->config);
-       if (err < 0) {
-               connman_session_destroy(policy->session);
-               return;
-       }
-
+       connman_session_set_default_config(policy->config);
        update_session(policy->session);
 }
 
index 5a6065f..07db2f1 100644 (file)
@@ -410,7 +410,7 @@ void connman_session_policy_unregister(struct connman_session_policy *policy)
        remove_policy(policy);
 }
 
-int connman_session_set_default_config(struct connman_session_config *config)
+void connman_session_set_default_config(struct connman_session_config *config)
 {
        config->priority = FALSE;
        config->roaming_policy = CONNMAN_SESSION_ROAMING_POLICY_DEFAULT;
@@ -420,24 +420,14 @@ int connman_session_set_default_config(struct connman_session_config *config)
        g_slist_free(config->allowed_bearers);
        config->allowed_bearers = g_slist_prepend(NULL,
                                GINT_TO_POINTER(CONNMAN_SERVICE_TYPE_UNKNOWN));
-       if (config->allowed_bearers == NULL)
-               return -ENOMEM;
-
-       return 0;
 }
 
 struct connman_session_config *connman_session_create_default_config(void)
 {
        struct connman_session_config *config;
 
-       config = g_try_new0(struct connman_session_config, 1);
-       if (config == NULL)
-               return NULL;
-
-       if (connman_session_set_default_config(config) < 0) {
-               g_free(config);
-               return NULL;
-       }
+       config = g_new0(struct connman_session_config, 1);
+       connman_session_set_default_config(config);
 
        return config;
 }