diff options
Diffstat (limited to 'debian/patches/27-dont_repeat_errors.patch')
| -rw-r--r-- | debian/patches/27-dont_repeat_errors.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/debian/patches/27-dont_repeat_errors.patch b/debian/patches/27-dont_repeat_errors.patch new file mode 100644 index 00000000..64e23223 --- /dev/null +++ b/debian/patches/27-dont_repeat_errors.patch @@ -0,0 +1,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; + } |