diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-06-26 15:55:20 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-07-17 11:30:01 -0300 |
commit | bce4c365bcd45eab76da967fd72732b79bbc1f57 (patch) | |
tree | c10919e25098163314580878c51fe9d5306d6e25 | |
parent | c19b8404a7695221b5f4029a6f206f0a50e200f4 (diff) | |
download | rneovim-bce4c365bcd45eab76da967fd72732b79bbc1f57.tar.gz rneovim-bce4c365bcd45eab76da967fd72732b79bbc1f57.tar.bz2 rneovim-bce4c365bcd45eab76da967fd72732b79bbc1f57.zip |
job: No longer free the job data. It's now done by the exit callback
-rw-r--r-- | src/nvim/eval.c | 1 | ||||
-rw-r--r-- | src/nvim/os/channel.c | 7 | ||||
-rw-r--r-- | src/nvim/os/job.c | 1 |
3 files changed, 2 insertions, 7 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index ec80be36c5..428f1430b3 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -19085,6 +19085,7 @@ static void on_job_stderr(RStream *rstream, void *data, bool eof) static void on_job_exit(Job *job, void *data) { apply_job_autocmds(job, data, "exit", NULL); + free(data); } static void on_job_data(RStream *rstream, void *data, bool eof, char *type) diff --git a/src/nvim/os/channel.c b/src/nvim/os/channel.c index 9e2c812a3f..439487f30b 100644 --- a/src/nvim/os/channel.c +++ b/src/nvim/os/channel.c @@ -92,7 +92,7 @@ uint64_t channel_from_job(char **argv) channel, job_out, job_err, - job_exit, + NULL, true, 0, &status); @@ -275,11 +275,6 @@ static void job_err(RStream *rstream, void *data, bool eof) // TODO(tarruda): plugin error messages should be sent to the error buffer } -static void job_exit(Job *job, void *data) -{ - // TODO(tarruda): what should be done here? -} - static void parse_msgpack(RStream *rstream, void *data, bool eof) { Channel *channel = data; diff --git a/src/nvim/os/job.c b/src/nvim/os/job.c index d2f9c10981..2f5b257b91 100644 --- a/src/nvim/os/job.c +++ b/src/nvim/os/job.c @@ -408,7 +408,6 @@ static void close_cb(uv_handle_t *handle) rstream_free(job->err); wstream_free(job->in); shell_free_argv(job->proc_opts.args); - free(job->data); free(job); } } |