On Mon, Nov 30, 2015 at 12:11 PM, Xavier Mendez <me(a)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?
 
Depends what you mean by safe. Unless you require quite low latency, for
instance less than 256 frames, and if your program is not supposed to run
simultaneously with hard realtime software such as ardour, calling I/O
functions in the jack thread should work fine. But you need to inform your
users that the program should not run simultaneously with hard realtime
software.