Displaying 3 results from an estimated 3 matches for "waitcmd".
Did you mean:
wait_cmd
2020 Mar 28
0
[klibc:update-dash] dash: jobs: Only clear gotsigchld when waiting for everything
...d5c72f4a978bb794 ]
The gotsigchld flag is always cleared in dowait but not all callers
of dowait will wait for everything. In particular, when jp is set
we only wait until the set job isn't running anymore.
This patch fixes this by only clearing gotsigchld if jp is unset.
It also changes the waitcmd to actually set jp which corresponds
to the behaviour of bash/ksh93/mksh.
The only other caller of dowait that doesn't wait for everything
is the jobless reaper. This is in fact redundant now that we wait
after every simple command. This patch removes it.
Finally as every caller of dowait n...
2020 Mar 28
0
[klibc:update-dash] dash: builtin: Mark more regular built-ins
...hash
jobscmd -u jobs
localcmd -as local
printfcmd printf
-pwdcmd pwd
+pwdcmd -u pwd
readcmd -u read
returncmd -s return
setcmd -s set
shiftcmd -s shift
trapcmd -s trap
truecmd -s : -u true
-typecmd type
+typecmd -u type
umaskcmd -u umask
unaliascmd -u unalias
unsetcmd -s unset
waitcmd -u wait
aliascmd -au alias
#ifdef HAVE_GETRLIMIT
-ulimitcmd ulimit
+ulimitcmd -u ulimit
#endif
testcmd test [
killcmd -u kill
2020 Mar 28
0
[klibc:update-dash] dash: eval: Add vfork support
...d 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);
diff --git a/usr/dash/trap.c b/usr/dash/trap.c
index a3aeb...