diff options
Diffstat (limited to '')
-rw-r--r-- | libterminput_is_ready.3 | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/libterminput_is_ready.3 b/libterminput_is_ready.3 index 08e6fd6..27b98f6 100644 --- a/libterminput_is_ready.3 +++ b/libterminput_is_ready.3 @@ -24,6 +24,33 @@ is buffered data but the library knows it it not enough to return something they, it will also return that there is nothing buffered. +.PP +The +.BR libterminput_is_ready () +function should only be used if using blocking +read operations (terminal file descriptor configured with +.I O_NONBLOCK +cleared). The flag +.I LIBTERMINPUT_ESC_ON_BLOCK +is only meaningful for non-blocking reads. With non-blocking +reads, the application should call +.BR libterminput_read (3) +and check for +.I EAGAIN +error rather than using the +.BR libterminput_is_ready () +function, as +.I EAGAIN +errors on read can cause the +.BR libterminput_read (3) +function to output keypresses it would otherwise not output, +but in doing so not report +.I EAGAIN +(although +.I errno +will still be set to +.IR EAGAIN , +so the application can still check if this occurred). .SH RETURN VALUE The @@ -57,4 +84,5 @@ None. None. .SH SEE ALSO -.BR libterminput_read (3) +.BR libterminput_read (3), +.BR fcntl (3) |