aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2014-06-26 15:55:20 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2014-07-17 11:30:01 -0300
commitbce4c365bcd45eab76da967fd72732b79bbc1f57 (patch)
treec10919e25098163314580878c51fe9d5306d6e25
parentc19b8404a7695221b5f4029a6f206f0a50e200f4 (diff)
downloadrneovim-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.c1
-rw-r--r--src/nvim/os/channel.c7
-rw-r--r--src/nvim/os/job.c1
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);
}
}