<p dir="ltr">Hi Xavi,</p>
<p dir="ltr">If the time to complete the function is deterministic, it is real time safe.</p>
<p dir="ltr">System calls (blocking ones) have "unbounded execution time", and as such are not rt safe.</p>
<p dir="ltr">If your I/O will take a significant amount of time, I suggest offloading to a worker thread.</p>
<p dir="ltr">Hth, -Harry</p>
<div class="gmail_quote">On 30 Nov 2015 11:11, "Xavier Mendez" <<a href="mailto:me@jmendeth.com">me@jmendeth.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I'm wondering whether it's safe to do non-blocking reads or writes from inside the process callback.<br>
<br>
>From what I've seen, non-blocking I/O doesn't cause the process to go into blocked state, and the realtime scheduler should not switch to another process. But the documentation doesn't seem to allow them:<br>
<br>
> [...] it cannot call functions that might block for a long time. This<br>
> includes all I/O functions (disk, TTY, network), [...]<br>
<br>
So, is it safe to use non-blocking I/O in the process callback?<br>
<br>
Thank you,<br>
Xavi<br>
_______________________________________________<br>
Jack-Devel mailing list<br>
<a href="mailto:Jack-Devel@lists.jackaudio.org" target="_blank">Jack-Devel@lists.jackaudio.org</a><br>
<a href="http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org" rel="noreferrer" target="_blank">http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org</a><br>
</blockquote></div>