author | Mike Sullivan <Mike.Sullivan@Oracle.COM> |
Mon, 18 May 2015 14:11:16 -0700 | |
changeset 4305 | 90493abe0c5c |
permissions | -rw-r--r-- |
4305
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
1 |
diff -r bb8978c251cb -r 6fbea5c30b60 usr/src/cmd/ast/lib/libshell/common/sh/jobs.c |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
2 |
--- a/src/cmd/ksh93/sh/jobs.c Sun Mar 25 23:19:46 2012 -0700 |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
3 |
+++ b/src/cmd/ksh93/sh/jobs.c Mon Mar 26 05:09:19 2012 -0700 |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
4 |
@@ -28,6 +28,9 @@ |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
5 |
* Rewritten April, 1988 |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
6 |
* Revised January, 1992 |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
7 |
*/ |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
8 |
+/* |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
9 |
+ * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
10 |
+ */ |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
11 |
|
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
12 |
#include "defs.h" |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
13 |
#include <wait.h> |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
14 |
@@ -57,6 +60,7 @@ |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
15 |
{ |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
16 |
struct jobsave *next; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
17 |
pid_t pid; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
18 |
+ short curenv; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
19 |
unsigned short exitval; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
20 |
}; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
21 |
|
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
22 |
@@ -232,6 +236,7 @@ |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
23 |
jp->pid = pid; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
24 |
jp->next = bck.list; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
25 |
bck.list = jp; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
26 |
+ jp->curenv = 0; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
27 |
jp->exitval = 0; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
28 |
} |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
29 |
return(jp); |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
30 |
@@ -1790,6 +1795,7 @@ |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
31 |
/* save status for future wait */ |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
32 |
if(jp = jobsave_create(pw->p_pid)) |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
33 |
{ |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
34 |
+ jp->curenv = pw->p_env; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
35 |
jp->exitval = pw->p_exit; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
36 |
if(pw->p_flag&P_SIGNALLED) |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
37 |
jp->exitval |= SH_EXITSIG; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
38 |
@@ -1967,7 +1973,7 @@ |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
39 |
for(jp=bck.list; jp; jp=jpnext) |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
40 |
{ |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
41 |
jpnext = jp->next; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
42 |
- if(jp->pid==sh.spid) |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
43 |
+ if(jp->curenv != sh.curenv || jp->pid==sh.spid) |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
44 |
{ |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
45 |
jp->next = bp->list; |
90493abe0c5c
backout 17533968/17817727/17699248/17777549/18119738/18229654/16169978/18302723/16507675/18920300/18355790/19907453/18426052/20808157/20948390/20948350 - causes 21091065
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
46 |
bp->list = jp; |