diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-18 14:57:06 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-18 14:57:06 +0000 |
| commit | f7319b36f4f48cdf065b9a1472c9a848ca6f95bc (patch) | |
| tree | cedef12b3a1e803c605157cbbba6d2c8c826338d /src/util/non_block_io.cc | |
| parent | cd55aa462b112896240ab736bf60035fdb30ca2d (diff) | |
adapt self pipe
Diffstat (limited to 'src/util/non_block_io.cc')
| -rw-r--r-- | src/util/non_block_io.cc | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/src/util/non_block_io.cc b/src/util/non_block_io.cc deleted file mode 100644 index 31edbc9..0000000 --- a/src/util/non_block_io.cc +++ /dev/null @@ -1,49 +0,0 @@ -#include "util/non_block_input.h" - -#include <unistd.h> -#include <sys/select.h> - -#include "pipe.h" - -using namespace std; - -namespace ov4 -{ - - -/* - * read from both stdin, and self pipe - * returns immediately as soon as stdin or pipe is "readable" - * returns read()'s ret value - * and set src to the the read source (stdin or pipe) - */ -int non_block_read_char(char *c, int *src) -{ - // get fd check range - int max_fd; - if (STDIN_FILENO > self_pipe_fd[0]) max_fd = STDIN_FILENO; - else max_fd = self_pipe_fd[0]; - - // monitor STDIN, and self pipe - fd_set rset; - FD_ZERO(&rset); - FD_SET(STDIN_FILENO, &rset); - FD_SET(self_pipe_fd[0], &rset); - - select(max_fd+1, &rset, nullptr, nullptr, nullptr); - - int ret = -1; - if (FD_ISSET(self_pipe_fd[0], &rset)) - { - ret = read(self_pipe_fd[0], c, 1); - if (src != nullptr) *src = self_pipe_fd[0]; - } - else if (FD_ISSET(STDIN_FILENO, &rset)) - { - ret = read(STDIN_FILENO, c, 1); - if (src != nullptr) *src = self_pipe_fd[0]; - } - return ret; -} - -}
\ No newline at end of file |
