iface-modem-time: only retry if MM_CORE_ERROR_RETRY was returned

We don't want to retry if the error is fatal in some other kind, e.g. a reply
parsing error or something.
This commit is contained in:
Aleksander Morgado
2012-03-05 16:10:53 +01:00
parent 120ac6da39
commit 10669881a5
2 changed files with 8 additions and 3 deletions

View File

@@ -137,8 +137,11 @@ load_network_timezone_ready (MMIfaceModemTime *self,
/* Retry? */
ctx->network_timezone_poll_retries--;
/* Fatal if no more retries */
if (ctx->network_timezone_poll_retries == 0) {
/* Fatal if no more retries, or if specific error is not RETRY */
if (ctx->network_timezone_poll_retries == 0 ||
!g_error_matches (error,
MM_CORE_ERROR,
MM_CORE_ERROR_RETRY)) {
g_simple_async_result_take_error (ctx->result, error);
update_network_timezone_context_complete_and_free (ctx);
return;

View File

@@ -39,7 +39,9 @@ struct _MMIfaceModemTime {
GAsyncResult *res,
GError **error);
/* Loading of the network timezone property */
/* Loading of the network timezone property. This method may return
* MM_CORE_ERROR_RETRY if the timezone cannot yet be loaded, so that
* the interface retries later. */
void (* load_network_timezone) (MMIfaceModemTime *self,
GAsyncReadyCallback callback,
gpointer user_data);