diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2018-05-19 02:39:56 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2018-05-28 17:12:23 +0800 |
commit | e94a964e7dd03d0dd6923d7fc62bc46bd4431189 (patch) | |
tree | 051eb42129c550d4bed1b94ef8dab9d8e8569395 /src/jobs.h | |
parent | eval: Replace with listsetvar with mklocal/setvareq (diff) | |
download | dash-e94a964e7dd03d0dd6923d7fc62bc46bd4431189.tar.gz dash-e94a964e7dd03d0dd6923d7fc62bc46bd4431189.zip |
eval: Add vfork support
This patch adds basic vfork support for the case of a simple command. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to '')
-rw-r--r-- | src/jobs.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/jobs.h b/src/jobs.h index 953ee87..6ac6c56 100644 --- a/src/jobs.h +++ b/src/jobs.h @@ -83,6 +83,8 @@ struct job { struct job *prev_job; /* previous job */ }; +union node; + extern pid_t backgndpid; /* pid of last background process */ extern int job_warning; /* user was warned about stopped jobs */ #if JOBS @@ -90,6 +92,7 @@ extern int jobctl; /* true if doing job control */ #else #define jobctl 0 #endif +extern int vforked; /* Set if we are in the vforked child */ void setjobctl(int); int killcmd(int, char **); @@ -101,6 +104,7 @@ void showjobs(struct output *, int); int waitcmd(int, char **); struct job *makejob(union node *, int); int forkshell(struct job *, union node *, int); +struct job *vforkexec(union node *n, char **argv, const char *path, int idx); int waitforjob(struct job *); int stoppedjobs(void); |