diff options
-rw-r--r-- | libmm-glib/mm-modem.c | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/libmm-glib/mm-modem.c b/libmm-glib/mm-modem.c index 99fbd8fc..db7d7299 100644 --- a/libmm-glib/mm-modem.c +++ b/libmm-glib/mm-modem.c @@ -1487,19 +1487,17 @@ mm_modem_command (MMModem *self, GAsyncReadyCallback callback, gpointer user_data) { - gint old_timeout; g_return_if_fail (MM_GDBUS_IS_MODEM (self)); - old_timeout = g_dbus_proxy_get_default_timeout (G_DBUS_PROXY (self)); - g_dbus_proxy_set_default_timeout (G_DBUS_PROXY (self), (timeout + 1) * 1000); + if (g_dbus_proxy_get_default_timeout (G_DBUS_PROXY (self)) < timeout) + g_warning ("Requested command timeout is shorter than the default DBus timeout"); mm_gdbus_modem_call_command (self, cmd, timeout, cancellable, callback, user_data); - g_dbus_proxy_set_default_timeout (G_DBUS_PROXY (self), old_timeout); } gchar * @@ -1528,22 +1526,18 @@ mm_modem_command_sync (MMModem *self, GError **error) { gchar *result; - gboolean success; - gint old_timeout; g_return_val_if_fail (MM_GDBUS_IS_MODEM (self), NULL); - old_timeout = g_dbus_proxy_get_default_timeout (G_DBUS_PROXY (self)); - g_dbus_proxy_set_default_timeout (G_DBUS_PROXY (self), (timeout + 1) * 1000); - success = mm_gdbus_modem_call_command_sync (self, - cmd, - timeout, - &result, - cancellable, - error); - g_dbus_proxy_set_default_timeout (G_DBUS_PROXY (self), old_timeout); + if (g_dbus_proxy_get_default_timeout (G_DBUS_PROXY (self)) < timeout) + g_warning ("Requested command timeout is shorter than the default DBus timeout"); - if (!success) + if (!mm_gdbus_modem_call_command_sync (self, + cmd, + timeout, + &result, + cancellable, + error)) return NULL; return result; |