summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiří Klimeš <jklimes@redhat.com>2015-05-21 13:04:58 +0200
committerJiří Klimeš <jklimes@redhat.com>2015-05-21 14:46:35 +0200
commit706f5ed137e2d6fa632c8133d9c3b6a4b5d555dd (patch)
tree9437bf794a871e65801f48fe653b507b27e30de5
parentd9376f5752fd8cc630987ce5ac46f80737b52791 (diff)
downloadNetworkManager-jk/dbus-limit-fixes.tar.gz
libnm-glib: print a bold warning about reaching a D-Bus limitjk/dbus-limit-fixes
This causes incorrect application behaviour, so libnm-glib should warn at least.
-rw-r--r--libnm-glib/nm-remote-settings.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libnm-glib/nm-remote-settings.c b/libnm-glib/nm-remote-settings.c
index d5f4ca67f0..ba0aa47be6 100644
--- a/libnm-glib/nm-remote-settings.c
+++ b/libnm-glib/nm-remote-settings.c
@@ -469,6 +469,7 @@ connection_inited (GObject *source, GAsyncResult *result, gpointer user_data)
AddConnectionInfo *addinfo;
const char *path;
GError *error = NULL, *local;
+ static gboolean print_once = TRUE;
path = nm_connection_get_path (NM_CONNECTION (remote));
addinfo = add_connection_info_find (self, remote);
@@ -504,6 +505,14 @@ connection_inited (GObject *source, GAsyncResult *result, gpointer user_data)
if (!dbus_g_error_has_name (error, "org.freedesktop.NetworkManager.Settings.PermissionDenied"))
g_hash_table_remove (priv->pending, path);
+ if (print_once && error->code == DBUS_GERROR_LIMITS_EXCEEDED) {
+ g_printerr ("Warning: libnm-glib:%s(): a D-Bus limit exceeded: %s. The application might not work properly.\n"
+ "Consider increasing max_replies_per_connection limit in /etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf "
+ "like <limit name=\"max_replies_per_connection\">2048</limit>",
+ __func__, error->message);
+ print_once = FALSE;
+ }
+
g_error_free (error);
}