aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/rstream.c
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2014-07-27 14:01:22 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2014-07-27 14:01:22 -0300
commit66bc13163398786c88e20b7cdd61c66978b4d3fb (patch)
tree8bc79d3fd093b5f5ec5d3417cda53ecdbc6cecf8 /src/nvim/os/rstream.c
parent9550beda61ea74a2a9738e9c10423fa817b7b897 (diff)
parent974752c53b7c84a19f3028286b9ea88195eb3d4e (diff)
downloadrneovim-66bc13163398786c88e20b7cdd61c66978b4d3fb.tar.gz
rneovim-66bc13163398786c88e20b7cdd61c66978b4d3fb.tar.bz2
rneovim-66bc13163398786c88e20b7cdd61c66978b4d3fb.zip
Merge pull request #978 '[RDY] implement system() with pipes'
Diffstat (limited to 'src/nvim/os/rstream.c')
-rw-r--r--src/nvim/os/rstream.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/src/nvim/os/rstream.c b/src/nvim/os/rstream.c
index d7ab5b8a64..b3a5196351 100644
--- a/src/nvim/os/rstream.c
+++ b/src/nvim/os/rstream.c
@@ -26,7 +26,7 @@ struct rstream {
uv_file fd;
rstream_cb cb;
size_t buffer_size, rpos, wpos, fpos;
- bool reading, free_handle;
+ bool free_handle;
EventSource source_override;
};
@@ -150,7 +150,6 @@ void rstream_start(RStream *rstream)
if (rstream->file_type == UV_FILE) {
uv_idle_start(rstream->fread_idle, fread_idle_cb);
} else {
- rstream->reading = false;
uv_read_start(rstream->stream, alloc_cb, read_cb);
}
}
@@ -236,16 +235,8 @@ static void alloc_cb(uv_handle_t *handle, size_t suggested, uv_buf_t *buf)
{
RStream *rstream = handle_get_rstream(handle);
- if (rstream->reading) {
- buf->len = 0;
- return;
- }
-
buf->len = rstream->buffer_size - rstream->wpos;
buf->base = rstream->buffer + rstream->wpos;
-
- // Avoid `alloc_cb`, `alloc_cb` sequences on windows
- rstream->reading = true;
}
// Callback invoked by libuv after it copies the data into the buffer provided
@@ -287,7 +278,6 @@ static void read_cb(uv_stream_t *stream, ssize_t cnt, const uv_buf_t *buf)
rstream_event_source(rstream));
}
- rstream->reading = false;
emit_read_event(rstream, false);
}