[network-manager-openvpn] service: keep reference to plugin while main loop is running
- From: Thomas Haller <thaller src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [network-manager-openvpn] service: keep reference to plugin while main loop is running
- Date: Mon, 15 Jan 2018 11:42:59 +0000 (UTC)
commit 9f45977058f7c8cf1fb0c67636cab43e2c85f228
Author: Beniamino Galvani <bgalvani redhat com>
Date: Mon Jan 15 11:46:47 2018 +0100
service: keep reference to plugin while main loop is running
pids_pending_wait_for_processes() runs the main loop, where queued
D-Bus events could be processed. Ensure the plugin is still
alive. Fixes the following:
nm-openvpn-serv[7900]: g_dbus_method_invocation_take_error: assertion 'error != NULL' failed
NetworkManager[4823]: nm-openvpn[7900] <info> openvpn[7912]: send SIGKILL
#0 nm_vpn_service_plugin_disconnect (plugin=0x91b8e0, err=err@entry=0x7ffce3dc80c8) at
libnm/nm-vpn-service-plugin.c:236
#1 0x00007fe1a361aae6 in impl_vpn_service_plugin_disconnect (plugin=<optimized out>, context=0x92f6c0,
user_data=<optimized out>) at libnm/nm-vpn-service-plugin.c:857
#2 0x00007fe1a01b8d1e in ffi_call_unix64 () from target:/lib64/libffi.so.6
#3 0x00007fe1a01b868f in ffi_call () from target:/lib64/libffi.so.6
#4 0x00007fe1a1570f39 in g_cclosure_marshal_generic () from target:/lib64/libgobject-2.0.so.0
#5 0x00007fe1a35f59fe in _nm_dbus_method_meta_marshal (closure=<optimized out>,
return_value=0x7ffce3dc84d0, n_param_values=<optimized out>, param_values=<optimized out>,
invocation_hint=<optimized out>, marshal_data=<optimized out>) at libnm/nm-dbus-helpers.c:203
#6 0x00007fe1a157073d in g_closure_invoke () from target:/lib64/libgobject-2.0.so.0
#7 0x00007fe1a15834de in signal_emit_unlocked_R () from target:/lib64/libgobject-2.0.so.0
#8 0x00007fe1a158b270 in g_signal_emitv () from target:/lib64/libgobject-2.0.so.0
#9 0x00007fe1a3683034 in _nmdbus_vpn_plugin_skeleton_handle_method_call (connection=<optimized out>,
sender=<optimized out>, object_path=<optimized out>,
interface_name=0x7fe18c012b80 "org.freedesktop.NetworkManager.VPN.Plugin",
method_name=0x7fe18c00f7b0 "Disconnect", parameters=<optimized out>, invocation=0x92f6c0, user_data=0x916e20)
at introspection/org.freedesktop.NetworkManager.VPN.Plugin.c:2946
#10 0x00007fe1a18890d7 in g_dbus_interface_method_dispatch_helper () from target:/lib64/libgio-2.0.so.0
#11 0x00007fe1a18713dc in call_in_idle_cb () from target:/lib64/libgio-2.0.so.0
#12 0x00007fe1a1294597 in g_idle_dispatch () from target:/lib64/libglib-2.0.so.0
#13 0x00007fe1a1297bb7 in g_main_context_dispatch () from target:/lib64/libglib-2.0.so.0
#14 0x00007fe1a1297f60 in g_main_context_iterate.isra () from target:/lib64/libglib-2.0.so.0
#15 0x00007fe1a1297fec in g_main_context_iteration () from target:/lib64/libglib-2.0.so.0
#16 0x0000000000403645 in pids_pending_wait_for_processes (main_loop=0x933470) at
src/nm-openvpn-service.c:417
https://bugzilla.gnome.org/show_bug.cgi?id=792252
src/nm-openvpn-service.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
---
diff --git a/src/nm-openvpn-service.c b/src/nm-openvpn-service.c
index edf5b48..b6de5c3 100644
--- a/src/nm-openvpn-service.c
+++ b/src/nm-openvpn-service.c
@@ -2309,9 +2309,8 @@ main (int argc, char *argv[])
g_unix_signal_add (SIGINT, signal_handler, loop);
g_main_loop_run (loop);
- g_object_unref (plugin);
-
pids_pending_wait_for_processes (loop);
+ g_object_unref (plugin);
g_main_loop_unref (loop);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]