<div dir="ltr"><div class="gmail_default"><div class="gmail_default"><font face="arial, helvetica, sans-serif">Hi,</font></div><div class="gmail_default"><font face="arial, helvetica, sans-serif"><br></font></div><div class="gmail_default"><font face="arial, helvetica, sans-serif">> What I was thinking regarding this issue was to define a common error</font></div><div class="gmail_default"><font face="arial, helvetica, sans-serif">> id, like "MM_CORE_ERROR_RETRY_LATER". If the logic (e.g. MMIfaceModem</font></div><div class="gmail_default"><font face="arial, helvetica, sans-serif">> logic) receives such an error, it would re-schedule the execution of</font></div><div class="gmail_default"><font face="arial, helvetica, sans-serif">> that step later on, in X seconds, but would still continue with the</font></div><div class="gmail_default"><font face="arial, helvetica, sans-serif">> remaining steps in the logic it has. But this is really very specific to</font></div><div class="gmail_default"><font face="arial, helvetica, sans-serif">> what we're loading, as not all steps may be retried later.</font></div><div class="gmail_default"><font face="arial, helvetica, sans-serif"><br></font></div><div class="gmail_default"><font face="arial, helvetica, sans-serif">working on this again. I implemented the "retry in N seconds" logic inside mm-iface-modem.c </font><font face="arial, helvetica, sans-serif">taking "UPDATE_LOCK_INFO_CONTEXT_STEP_LOCK" as example, but now I'm considering whether </font><span style="font-family:arial,helvetica,sans-serif">(A) "UPDATE_LOCK_INFO_CONTEXT_STEP_AFTER_UNLOCK" should stop the whole "update_lock_info_context_step" </span><font face="arial, helvetica, sans-serif">process as "UPDATE_LOCK_INFO_CONTEXT_STEP_LOCK" does, or (B) I can let the process going on </font><span style="font-family:arial,helvetica,sans-serif">and update the unlock retries in the background.</span></div><div class="gmail_default"><font face="arial, helvetica, sans-serif"><br></font></div><div class="gmail_default"><font face="arial, helvetica, sans-serif">The differences I can see are that (A) with some SIMs the "update_lock_info_context_step" would take ~30 seconds </font><span style="font-family:arial,helvetica,sans-serif">to complete (it basically waits till QSS 3 arrives), while (B) some requests to the SIM might be blocked (because</span></div><div class="gmail_default"><font face="arial, helvetica, sans-serif">of CSIM lock).</font></div><div class="gmail_default"><font face="arial, helvetica, sans-serif"><br></font></div><div class="gmail_default"><font face="arial, helvetica, sans-serif">I've tried both, but I didn't see any other issues with this two solutions. What do you think?</font></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 16 May 2017 at 12:33, Carlo Lobrano <span dir="ltr"><<a href="mailto:c.lobrano@gmail.com" target="_blank">c.lobrano@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><span class=""><br><div class="gmail_quote">On 16 May 2017 at 10:53, Aleksander Morgado <span dir="ltr"><<a href="mailto:aleksander@aleksander.es" target="_blank">aleksander@aleksander.es</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id="m_-5092163885504873606:15e" class="m_-5092163885504873606a3s m_-5092163885504873606aXjCH m_-5092163885504873606m15c1076f98decf85">But g_simple_async_result_complete<wbr>() can only be called once; as soon<br>
as you call it the async call would be completed, not sure what you do<br>
with the copy afterwards. Maybe I'm not understanding it properly?</div></blockquote></div><br></span><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">​No, you got it right, I was looking for a way to re-use the object for the pointer to the callback and some other data that at the point where I could re-call the load_unlock_step were not available anymore. That said, I kind of knew I was doing something wrong​</div><br><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">​​</div></div></div>
</blockquote></div><br></div>