summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2015-11-13 15:35:40 +0100
committerBeniamino Galvani <bgalvani@redhat.com>2015-11-13 18:01:33 +0100
commitf1b4eb9558572c2b5942492a4146d12026231adc (patch)
tree83fd2b13ac848310667dfac3f0b7148bd0c8f9fb
parent61948913c576b4bf62e33561be06beeec134db47 (diff)
downloadNetworkManager-f1b4eb9558572c2b5942492a4146d12026231adc.tar.gz
core: fix failed assertion when D-Bus service is already taken
When exiting after an error we must set the quitting flag in nm-exported-object.c because during program destruction there can be still exported objects which get disposed. Fixes the following assertion: NetworkManager[14241]: (nm-exported-object.c:826):nm_exported_object_dispose: code should not be reached Process terminating with default action of signal 5 (SIGTRAP) at 0x7ACFD3B: _g_log_abort (gmessages.c:315) by 0x7ACFD3B: g_logv (gmessages.c:1041) by 0x7ACFEAE: g_log (gmessages.c:1079) by 0x7AD0196: g_warn_message (gmessages.c:1112) by 0x20F5B0: nm_exported_object_dispose (nm-exported-object.c:826) by 0x316FC4: dispose (nm-settings.c:2222) by 0x7841A5B: g_object_unref (gobject.c:3137) by 0x2330F3: dispose (nm-manager.c:5249) by 0x7841A5B: g_object_unref (gobject.c:3137) by 0x23C511: _nm_singleton_instance_destroy (NetworkManagerUtils.c:174) by 0x400FBE6: _dl_fini (in /usr/lib64/ld-2.21.so) by 0x8009647: __run_exit_handlers (in /usr/lib64/libc-2.21.so) by 0x8009694: exit (in /usr/lib64/libc-2.21.so)
-rw-r--r--src/main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index a0c5c048b7..e2ed871508 100644
--- a/src/main.c
+++ b/src/main.c
@@ -455,11 +455,11 @@ main (int argc, char *argv[])
if (configure_and_quit == FALSE)
g_main_loop_run (main_loop);
+done:
nm_exported_object_class_set_quitting ();
nm_manager_stop (nm_manager_get ());
-done:
if (global_opt.pidfile && wrote_pidfile)
unlink (global_opt.pidfile);