loader: Correct overly strict startup checks.
[asterisk/asterisk.git] / main / ccss.c
index 445de93..ed0bba7 100644 (file)
@@ -1380,19 +1380,8 @@ struct generic_monitor_pvt {
        int core_id;
 };
 
-static int generic_monitor_hash_fn(const void *obj, const int flags)
-{
-       const struct generic_monitor_instance_list *generic_list = obj;
-       return ast_str_hash(generic_list->device_name);
-}
-
-static int generic_monitor_cmp_fn(void *obj, void *arg, int flags)
-{
-       const struct generic_monitor_instance_list *generic_list1 = obj;
-       const struct generic_monitor_instance_list *generic_list2 = arg;
-
-       return !strcmp(generic_list1->device_name, generic_list2->device_name) ? CMP_MATCH | CMP_STOP : 0;
-}
+AO2_STRING_FIELD_HASH_FN(generic_monitor_instance_list, device_name)
+AO2_STRING_FIELD_CMP_FN(generic_monitor_instance_list, device_name)
 
 static struct generic_monitor_instance_list *find_generic_monitor_instance_list(const char * const device_name)
 {
@@ -2853,7 +2842,7 @@ static void *generic_recall(void *data)
                return NULL;
        }
        ao2_ref(tmp_cap, -1);
-       
+
        /* We have a channel. It's time now to set up the datastore of recalled CC interfaces.
         * This will be a common task for all recall functions. If it were possible, I'd have
         * the core do it automatically, but alas I cannot. Instead, I will provide a public
@@ -4665,8 +4654,8 @@ int ast_cc_init(void)
                return -1;
        }
        if (!(generic_monitors = ao2_t_container_alloc(CC_CORE_INSTANCES_BUCKETS,
-                                       generic_monitor_hash_fn, generic_monitor_cmp_fn,
-                                       "Create generic monitor container"))) {
+                       generic_monitor_instance_list_hash_fn, generic_monitor_instance_list_cmp_fn,
+                       "Create generic monitor container"))) {
                return -1;
        }
        if (!(cc_core_taskprocessor = ast_taskprocessor_get("CCSS_core", TPS_REF_DEFAULT))) {