diff options
author | Beniamino Galvani <bgalvani@redhat.com> | 2015-11-13 15:35:40 +0100 |
---|---|---|
committer | Beniamino Galvani <bgalvani@redhat.com> | 2015-11-13 18:01:33 +0100 |
commit | f1b4eb9558572c2b5942492a4146d12026231adc (patch) | |
tree | 83fd2b13ac848310667dfac3f0b7148bd0c8f9fb | |
parent | 61948913c576b4bf62e33561be06beeec134db47 (diff) | |
download | NetworkManager-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.c | 2 |
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); |