aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/stream.c
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2015-07-16 23:10:15 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2015-07-17 00:19:55 -0300
commitac2bd0256183fe4255e5fcccf37f860f037d43a6 (patch)
tree09bcdf6eefd9b18a58159f06a20b97c938d4f367 /src/nvim/os/stream.c
parent991d3ec1e679bb6407f2a5820910d2968424183c (diff)
downloadrneovim-ac2bd0256183fe4255e5fcccf37f860f037d43a6.tar.gz
rneovim-ac2bd0256183fe4255e5fcccf37f860f037d43a6.tar.bz2
rneovim-ac2bd0256183fe4255e5fcccf37f860f037d43a6.zip
rstream/wstream: Unify structures and simplify API
- Simplify RStream/WStream API and make it more consistent with libuv. - Move into the event loop layer(event subdirectory) - Remove uv_helpers module. - Simplify job/process internal modules/API. - Unify RStream and WStream into a single structure. This is necessary because libuv streams can be readable and writable at the same time(and because the uv_helpers.c hack to associate multiple streams with libuv handle was removed) - Make struct definition public, allowing more flexible/simple memory management by users of the module. - Adapt channel/job modules to cope with the changes.
Diffstat (limited to 'src/nvim/os/stream.c')
-rw-r--r--src/nvim/os/stream.c30
1 files changed, 0 insertions, 30 deletions
diff --git a/src/nvim/os/stream.c b/src/nvim/os/stream.c
deleted file mode 100644
index 0c448872c3..0000000000
--- a/src/nvim/os/stream.c
+++ /dev/null
@@ -1,30 +0,0 @@
-// Functions for working with stdio streams (as opposed to RStream/WStream).
-
-#include <stdio.h>
-#include <stdbool.h>
-
-#include <uv.h>
-
-#ifdef INCLUDE_GENERATED_DECLARATIONS
-# include "os/stream.c.generated.h"
-#endif
-
-/// Sets the stream associated with `fd` to "blocking" mode.
-///
-/// @return `0` on success, or `-errno` on failure.
-int stream_set_blocking(int fd, bool blocking)
-{
- // Private loop to avoid conflict with existing watcher(s):
- // uv__io_stop: Assertion `loop->watchers[w->fd] == w' failed.
- uv_loop_t loop;
- uv_pipe_t stream;
- uv_loop_init(&loop);
- uv_pipe_init(&loop, &stream, 0);
- uv_pipe_open(&stream, fd);
- int retval = uv_stream_set_blocking((uv_stream_t *)&stream, blocking);
- uv_close((uv_handle_t *)&stream, NULL);
- uv_run(&loop, UV_RUN_NOWAIT); // not necessary, but couldn't hurt.
- uv_loop_close(&loop);
- return retval;
-}
-