comparison src/structs.h @ 8170:a0ffb1f3dedc v7.4.1378

commit https://github.com/vim/vim/commit/65edff8f51e9e54f85407bdb9156ae8e3e1b76a1 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 21 16:40:11 2016 +0100 patch 7.4.1378 Problem: Can't change job settings after it started. Solution: Add job_setoptions() with the "stoponexit" flag.
author Christian Brabandt <cb@256bit.org>
date Sun, 21 Feb 2016 16:45:05 +0100
parents 973686665238
children f2286ff0c102
comparison
equal deleted inserted replaced
8169:bf0ad2820b48 8170:a0ffb1f3dedc
1251 /* 1251 /*
1252 * Structure to hold info about a Job. 1252 * Structure to hold info about a Job.
1253 */ 1253 */
1254 struct jobvar_S 1254 struct jobvar_S
1255 { 1255 {
1256 job_T *jv_next;
1257 job_T *jv_prev;
1256 #ifdef UNIX 1258 #ifdef UNIX
1257 pid_t jv_pid; 1259 pid_t jv_pid;
1258 int jv_exitval; 1260 int jv_exitval;
1259 #endif 1261 #endif
1260 #ifdef WIN32 1262 #ifdef WIN32
1261 PROCESS_INFORMATION jv_proc_info; 1263 PROCESS_INFORMATION jv_proc_info;
1262 HANDLE jv_job_object; 1264 HANDLE jv_job_object;
1263 #endif 1265 #endif
1264 jobstatus_T jv_status; 1266 jobstatus_T jv_status;
1267 char_u *jv_stoponexit; /* allocated */
1265 1268
1266 int jv_refcount; /* reference count */ 1269 int jv_refcount; /* reference count */
1267 channel_T *jv_channel; /* channel for I/O, reference counted */ 1270 channel_T *jv_channel; /* channel for I/O, reference counted */
1268 }; 1271 };
1269 1272
1384 #define JO_TIMEOUT 0x0100 /* all timeouts */ 1387 #define JO_TIMEOUT 0x0100 /* all timeouts */
1385 #define JO_OUT_TIMEOUT 0x0200 /* stdout timeouts */ 1388 #define JO_OUT_TIMEOUT 0x0200 /* stdout timeouts */
1386 #define JO_ERR_TIMEOUT 0x0400 /* stderr timeouts */ 1389 #define JO_ERR_TIMEOUT 0x0400 /* stderr timeouts */
1387 #define JO_PART 0x0800 /* "part" */ 1390 #define JO_PART 0x0800 /* "part" */
1388 #define JO_ID 0x1000 /* "id" */ 1391 #define JO_ID 0x1000 /* "id" */
1392 #define JO_STOPONEXIT 0x2000 /* "stoponexit" */
1389 #define JO_ALL 0xffffff 1393 #define JO_ALL 0xffffff
1390 1394
1391 #define JO_MODE_ALL (JO_MODE + JO_IN_MODE + JO_OUT_MODE + JO_ERR_MODE) 1395 #define JO_MODE_ALL (JO_MODE + JO_IN_MODE + JO_OUT_MODE + JO_ERR_MODE)
1392 #define JO_CB_ALL (JO_CALLBACK + JO_OUT_CALLBACK + JO_ERR_CALLBACK) 1396 #define JO_CB_ALL (JO_CALLBACK + JO_OUT_CALLBACK + JO_ERR_CALLBACK)
1393 #define JO_TIMEOUT_ALL (JO_TIMEOUT + JO_OUT_TIMEOUT + JO_ERR_TIMEOUT) 1397 #define JO_TIMEOUT_ALL (JO_TIMEOUT + JO_OUT_TIMEOUT + JO_ERR_TIMEOUT)
1410 int jo_timeout; 1414 int jo_timeout;
1411 int jo_out_timeout; 1415 int jo_out_timeout;
1412 int jo_err_timeout; 1416 int jo_err_timeout;
1413 int jo_part; 1417 int jo_part;
1414 int jo_id; 1418 int jo_id;
1419 char_u jo_soe_buf[NUMBUFLEN];
1420 char_u *jo_stoponexit;
1415 } jobopt_T; 1421 } jobopt_T;
1416 1422
1417 1423
1418 /* structure used for explicit stack while garbage collecting hash tables */ 1424 /* structure used for explicit stack while garbage collecting hash tables */
1419 typedef struct ht_stack_S 1425 typedef struct ht_stack_S