Mercurial > vim
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 |