<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 9 Feb 2021 at 18:13, Jan-Marek Glogowski <<a href="mailto:glogow@fbihome.de">glogow@fbihome.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
IMHO the whole SAL_MSG_THREADYIELD should not exist, and we should have <br>
<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:tahoma,sans-serif">Looking at SAL_MSG_THREADYIELD, the primary use-case seems to be things calling Application::Reschedule,</div><div class="gmail_default" style="font-family:tahoma,sans-serif">which wants to wait until all the current events have been processed.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Surely that could be more easily implemented by logic like:</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">    if (we're on event thread)</div><div class="gmail_default" style="font-family:tahoma,sans-serif">        handle_events()</div><div class="gmail_default" style="font-family:tahoma,sans-serif">    else</div><div class="gmail_default" style="font-family:tahoma,sans-serif">    {</div><div class="gmail_default" style="font-family:tahoma,sans-serif">        SpecialWaitEvent aEvent;</div><div class="gmail_default" style="font-family:tahoma,sans-serif">        Application::postUserEvent(&aEvent);</div><div class="gmail_default" style="font-family:tahoma,sans-serif">        aEvent.waitUntilProcessedByEventThread();</div><div class="gmail_default" style="font-family:tahoma,sans-serif">    }</div><br></div><div><div class="gmail_default" style="font-family:tahoma,sans-serif">which is largely the same logic, but without needing special handling inside the scheduler.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"></div><br></div><div> </div></div></div>