comparison src/os_win32.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 25cc0021a8d7
children 17165aabc731
comparison
equal deleted inserted replaced
10385:368468ef35cf 10386:d3f0946b4a80
4976 4976
4977 if (!GetExitCodeProcess(job->jv_proc_info.hProcess, &dwExitCode) 4977 if (!GetExitCodeProcess(job->jv_proc_info.hProcess, &dwExitCode)
4978 || dwExitCode != STILL_ACTIVE) 4978 || dwExitCode != STILL_ACTIVE)
4979 { 4979 {
4980 job->jv_exitval = (int)dwExitCode; 4980 job->jv_exitval = (int)dwExitCode;
4981 if (job->jv_status != JOB_ENDED) 4981 if (job->jv_status < JOB_ENDED)
4982 { 4982 {
4983 ch_log(job->jv_channel, "Job ended"); 4983 ch_log(job->jv_channel, "Job ended");
4984 job->jv_status = JOB_ENDED; 4984 job->jv_status = JOB_ENDED;
4985 } 4985 }
4986 return "dead"; 4986 return "dead";