aboutsummaryrefslogtreecommitdiff
path: root/src/util/non_block_io.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/non_block_io.cc')
-rw-r--r--src/util/non_block_io.cc49
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