[Jack-Devel] Non-blocking I/O in process callback

Harry van Haaren harryhaaren at gmail.com
Mon Nov 30 14:10:49 CET 2015


Hi Xavi,

If the time to complete the function is deterministic, it is real time safe.

System calls (blocking ones) have "unbounded execution time", and as such
are not rt safe.

If your I/O will take a significant amount of time, I suggest offloading to
a worker thread.

Hth, -Harry
On 30 Nov 2015 11:11, "Xavier Mendez" <me at jmendeth.com> wrote:

> Hello,
>
> I'm wondering whether it's safe to do non-blocking reads or writes from
> inside the process callback.
>
> 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:
>
> > [...] it cannot call functions that might block for a long time. This
> > includes all I/O functions (disk, TTY, network), [...]
>
> So, is it safe to use non-blocking I/O in the process callback?
>
> Thank you,
> Xavi
> _______________________________________________
> Jack-Devel mailing list
> Jack-Devel at lists.jackaudio.org
> http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.linuxaudio.org/archives/jackaudio/attachments/20151130/26ffa0cc/attachment.html>


More information about the Jackaudio mailing list