about summary refs log tree commit diff
path: root/debian/patches/27-dont_repeat_errors.patch
blob: 64e23223ba621b0780059ecc4efccf35f5e8e2dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
diff --git a/src/NetworkManager.c b/src/NetworkManager.c
index 4f89f63..ddb5a4a 100644
--- a/src/NetworkManager.c
+++ b/src/NetworkManager.c
@@ -65,6 +65,8 @@
  */
 static NMData		*nm_data = NULL;
 
+char *ks_err_message = NULL;
+
 static gboolean sigterm_pipe_handler (GIOChannel *src, GIOCondition condition, gpointer data);
 static void nm_data_free (NMData *data);
 static gboolean nm_poll_killswitches(gpointer user_data);
@@ -353,13 +355,21 @@ static void nm_killswitch_getpower_reply_cb (DBusPendingCall *pcall, NMData * da
 	if (message_is_error (reply)) {
 		dbus_error_init (&err);
 		dbus_set_error_from_message (&err, reply);
-		nm_info ("Error getting killswitch power: %s - %s", err.name, err.message);
+		if (!ks_err_message || strcmp (ks_err_message, err.message)) {
+			nm_info ("Error getting killswitch power: %s - %s", err.name, err.message);
+			g_free (ks_err_message);
+			ks_err_message = g_strdup (err.message);
+		}
 		dbus_error_free (&err);
 		goto out;
 	}
 
 	if (!dbus_message_get_args (reply, &err, DBUS_TYPE_INT32, &status, DBUS_TYPE_INVALID)) {
-		nm_info ("Error getting killswitch power arguments: %s - %s", err.name, err.message);
+		if (!ks_err_message || strcmp (ks_err_message, err.message)) {
+			nm_info ("Error getting killswitch power arguments: %s - %s", err.name, err.message);
+			g_free (ks_err_message);
+			ks_err_message = g_strdup (err.message);
+		}
 		dbus_error_free (&err);
 		goto out;
 	}