mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-07 18:00:30 +01:00
device-factory: allow using nm_device_factory_manager_for_each_factory() before load
We can dispose the manager before loading the factories: NetworkManager[20214]: <error> [1439391976.738579] [nm-bus-manager.c:764] nm_bus_manager_start_service(): Could not acquire the NetworkManager service as it is already taken. NetworkManager[20214]: <error> [1439391976.738617] [main.c:424] main(): failed to start the dbus service. NetworkManager[20214]: nm_device_factory_manager_for_each_factory: assertion 'factories_by_link' failed Program received signal SIGTRAP, Trace/breakpoint trap. g_logv (log_domain=0x5a5028 "NetworkManager", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffd750) at gmessages.c:1046 1046 g_private_set (&g_log_depth, GUINT_TO_POINTER (depth)); (gdb) bt #0 0x00007ffff4a738c3 in g_logv (log_domain=0x5a5028 "NetworkManager", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffd750) at gmessages.c:1046 #1 0x00007ffff4a73a3f in g_log (log_domain=log_domain@entry=0x5a5028 "NetworkManager", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7ffff4ae173d "%s: assertion '%s' failed") at gmessages.c:1079 #2 0x00007ffff4a73a79 in g_return_if_fail_warning (log_domain=log_domain@entry=0x5a5028 "NetworkManager", pretty_function=pretty_function@entry=0x5a5420 <__FUNCTION__.26921> "nm_device_factory_manager_for_each_factory", expression=expression@entry=0x5a4f25 "factories_by_link") at gmessages.c:1088 #3 0x00000000004704e4 in nm_device_factory_manager_for_each_factory (callback=callback@entry=0x4d29a0 <_deinit_device_factory>, user_data=user_data@entry=0x8802b0) at devices/nm-device-factory.c:306 #4 0x00000000004d2927 in dispose (object=0x8802b0 [NMManager]) at nm-manager.c:5086 #5 0x00007ffff4d6ea82 in g_object_unref (_object=0x8802b0) at gobject.c:3133 #6 0x00000000004459f6 in main (argc=1, argv=0x7fffffffda88) at main.c:468 (gdb)
This commit is contained in:
parent
688e93fb2a
commit
b339d4e5d6
1 changed files with 12 additions and 11 deletions
|
|
@ -303,19 +303,20 @@ nm_device_factory_manager_for_each_factory (NMDeviceFactoryManagerFactoryFunc ca
|
|||
NMDeviceFactory *factory;
|
||||
GSList *list_iter, *list = NULL;
|
||||
|
||||
g_return_if_fail (factories_by_link);
|
||||
g_return_if_fail (factories_by_setting);
|
||||
|
||||
g_hash_table_iter_init (&iter, factories_by_link);
|
||||
while (g_hash_table_iter_next (&iter, NULL, (gpointer) &factory)) {
|
||||
if (!g_slist_find (list, factory))
|
||||
list = g_slist_prepend (list, factory);
|
||||
if (factories_by_link) {
|
||||
g_hash_table_iter_init (&iter, factories_by_link);
|
||||
while (g_hash_table_iter_next (&iter, NULL, (gpointer) &factory)) {
|
||||
if (!g_slist_find (list, factory))
|
||||
list = g_slist_prepend (list, factory);
|
||||
}
|
||||
}
|
||||
|
||||
g_hash_table_iter_init (&iter, factories_by_setting);
|
||||
while (g_hash_table_iter_next (&iter, NULL, (gpointer) &factory)) {
|
||||
if (!g_slist_find (list, factory))
|
||||
list = g_slist_prepend (list, factory);
|
||||
if (factories_by_setting) {
|
||||
g_hash_table_iter_init (&iter, factories_by_setting);
|
||||
while (g_hash_table_iter_next (&iter, NULL, (gpointer) &factory)) {
|
||||
if (!g_slist_find (list, factory))
|
||||
list = g_slist_prepend (list, factory);
|
||||
}
|
||||
}
|
||||
|
||||
for (list_iter = list; list_iter; list_iter = list_iter->next)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue