diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2015-02-23 12:34:02 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2015-02-23 21:43:33 -0300 |
commit | 1ec7db70ecac75736b5042203e57aae57b65abe6 (patch) | |
tree | d2f169ac3a5c7460d04997e31efd104920e68c5e /src/nvim/eval.c | |
parent | 0b8d3cb5074031d04ad3def786775853e67ecfbe (diff) | |
download | rneovim-1ec7db70ecac75736b5042203e57aae57b65abe6.tar.gz rneovim-1ec7db70ecac75736b5042203e57aae57b65abe6.tar.bz2 rneovim-1ec7db70ecac75736b5042203e57aae57b65abe6.zip |
job: Refactor process spawning and startup arguments
- process spawning was decoupled from the rest of the job control logic. The
goal is reusing it for spawning processes connected to pseudo terminal file
descriptors.
- job_start now receives a JobOptions structure containing all the startup
options.
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r-- | src/nvim/eval.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 0049c9f59a..c2a46ed206 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -10725,15 +10725,13 @@ static void f_jobstart(typval_T *argvars, typval_T *rettv) // The last item of argv must be NULL argv[i] = NULL; - - job_start(argv, - xstrdup((char *)argvars[0].vval.v_string), - true, - on_job_stdout, - on_job_stderr, - on_job_exit, - 0, - &rettv->vval.v_number); + JobOptions opts = JOB_OPTIONS_INIT; + opts.argv = argv; + opts.data = xstrdup((char *)argvars[0].vval.v_string); + opts.stdout_cb = on_job_stdout; + opts.stderr_cb = on_job_stderr; + opts.exit_cb = on_job_exit; + job_start(opts, &rettv->vval.v_number); if (rettv->vval.v_number <= 0) { if (rettv->vval.v_number == 0) { |