aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/fileio.h
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-03-19 17:29:48 +0300
committerZyX <kp-pav@yandex.ru>2017-03-19 17:29:48 +0300
commite78e75d85d91e9f14964465ea136b3899b774d6e (patch)
tree619520179b6a24aa62586e8a862a6df8f371fedc /src/nvim/os/fileio.h
parentbd798a3267a496c644b339c45189b09e2a952014 (diff)
downloadrneovim-e78e75d85d91e9f14964465ea136b3899b774d6e.tar.gz
rneovim-e78e75d85d91e9f14964465ea136b3899b774d6e.tar.bz2
rneovim-e78e75d85d91e9f14964465ea136b3899b774d6e.zip
fileio,main: Do not restart syscall at EAGAIN when reading for -s
Diffstat (limited to 'src/nvim/os/fileio.h')
-rw-r--r--src/nvim/os/fileio.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/nvim/os/fileio.h b/src/nvim/os/fileio.h
index 0b55cc695f..7c53cd4f07 100644
--- a/src/nvim/os/fileio.h
+++ b/src/nvim/os/fileio.h
@@ -14,6 +14,7 @@ typedef struct {
RBuffer *rv; ///< Read or write buffer.
bool wr; ///< True if file is in write mode.
bool eof; ///< True if end of file was encountered.
+ bool non_blocking; ///< True if EAGAIN should not restart syscalls.
} FileDescriptor;
/// file_open() flags
@@ -32,6 +33,8 @@ typedef enum {
///< kFileCreateOnly.
kFileAppend = 64, ///< Append to the file. Implies kFileWriteOnly. Cannot
///< be used with kFileCreateOnly.
+ kFileNonBlocking = 128, ///< Do not restart read() or write() syscall if
+ ///< EAGAIN was encountered.
} FileOpenFlags;
static inline bool file_eof(const FileDescriptor *const fp)