Mercurial > vim
comparison src/eval.c @ 10386:d3f0946b4a80 v8.0.0087
commit https://github.com/vim/vim/commit/7df915d113ac1981792c50e8b000c9f5f784b78b
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Nov 17 17:25:32 2016 +0100
patch 8.0.0087
Problem: When the channel callback gets job info the job may already have
been deleted. (lifepillar)
Solution: Do not delete the job when the channel is still useful. (ichizok,
closes #1242, closes #1245)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 17 Nov 2016 17:30:04 +0100 |
parents | 14a82c6433be |
children | 6ddf322ff7cf |
comparison
equal
deleted
inserted
replaced
10385:368468ef35cf | 10386:d3f0946b4a80 |
---|---|
7288 char *status; | 7288 char *status; |
7289 | 7289 |
7290 if (job == NULL) | 7290 if (job == NULL) |
7291 return (char_u *)"no process"; | 7291 return (char_u *)"no process"; |
7292 status = job->jv_status == JOB_FAILED ? "fail" | 7292 status = job->jv_status == JOB_FAILED ? "fail" |
7293 : job->jv_status == JOB_ENDED ? "dead" | 7293 : job->jv_status >= JOB_ENDED ? "dead" |
7294 : "run"; | 7294 : "run"; |
7295 # ifdef UNIX | 7295 # ifdef UNIX |
7296 vim_snprintf((char *)buf, NUMBUFLEN, | 7296 vim_snprintf((char *)buf, NUMBUFLEN, |
7297 "process %ld %s", (long)job->jv_pid, status); | 7297 "process %ld %s", (long)job->jv_pid, status); |
7298 # elif defined(WIN32) | 7298 # elif defined(WIN32) |