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)