search for: jobno

Displaying 7 results from an estimated 7 matches for "jobno".

Did you mean: joblo
2009 Dec 10
1
barplot and cumulative curve using ggplot2 layers
Hello My dataset is as follows: jobno recruits 1100 18 1200 1 1850 5 2100 190 2789 25 3000 1 . . . . the dataset has 130 rows I want to plot barplot from left side and cumulative curve from right side in one graph itself using layer...
2019 Jan 25
0
[klibc:update-dash] eval: Reap zombies after built-in commands and functions
...<termios.h> #undef CEOF /* syntax.h redefines this */ #endif +#include "eval.h" #include "redir.h" #include "show.h" #include "main.h" @@ -972,10 +973,11 @@ waitforjob(struct job *jp) { int st; - TRACE(("waitforjob(%%%d) called\n", jobno(jp))); - while (jp->state == JOBRUNNING) { + TRACE(("waitforjob(%%%d) called\n", jp ? jobno(jp) : 0)); + while ((jp && jp->state == JOBRUNNING) || gotsigchld) dowait(DOWAIT_BLOCK, jp); - } + if (!jp) + return exitstatus; st = getstatus(jp); #if JOBS if (jp->jobct...
2020 Mar 28
0
[klibc:update-dash] dash: eval: Reap zombies after built-in commands and functions
...<termios.h> #undef CEOF /* syntax.h redefines this */ #endif +#include "eval.h" #include "redir.h" #include "show.h" #include "main.h" @@ -972,10 +973,11 @@ waitforjob(struct job *jp) { int st; - TRACE(("waitforjob(%%%d) called\n", jobno(jp))); - while (jp->state == JOBRUNNING) { + TRACE(("waitforjob(%%%d) called\n", jp ? jobno(jp) : 0)); + while ((jp && jp->state == JOBRUNNING) || gotsigchld) dowait(DOWAIT_BLOCK, jp); - } + if (!jp) + return exitstatus; st = getstatus(jp); #if JOBS if (jp->jobct...
2020 Mar 28
0
[klibc:update-dash] dash: jobs: Only clear gotsigchld when waiting for everything
...c index 400628ff..2c277153 100644 --- a/usr/dash/jobs.c +++ b/usr/dash/jobs.c @@ -96,8 +96,6 @@ static int ttyfd = -1; /* current job */ static struct job *curjob; -/* number of presumed living untracked jobs */ -static int jobless; STATIC void set_curjob(struct job *, unsigned); STATIC int jobno(const struct job *); @@ -555,8 +553,7 @@ showjobs(struct output *out, int mode) TRACE(("showjobs(%x) called\n", mode)); /* If not even one one job changed, there is nothing to do */ - while (dowait(DOWAIT_NORMAL, NULL) > 0) - continue; + dowait(DOWAIT_NORMAL, NULL); for (jp...
2020 Mar 28
0
[klibc:update-dash] dash: eval: Add vfork support
...t; #include "eval.h" #include "redir.h" #include "show.h" @@ -97,6 +98,9 @@ static int ttyfd = -1; /* current job */ static struct job *curjob; +/* Set if we are in the vforked child */ +int vforked; + STATIC void set_curjob(struct job *, unsigned); STATIC int jobno(const struct job *); STATIC int sprint_status(char *, int, int); @@ -839,20 +843,29 @@ growjobtab(void) * Called with interrupts off. */ -STATIC inline void -forkchild(struct job *jp, union node *n, int mode) +static void forkchild(struct job *jp, union node *n, int mode) { + int lvforked;...
2019 Jan 25
0
[klibc:update-dash] jobs - Do not block when waiting on SIGCHLD
...forjob(jp); + FORCEINTON; out: if (cmd->ncmd.redirect) diff --git a/usr/dash/jobs.c b/usr/dash/jobs.c index 4548ae69..2b8e1afe 100644 --- a/usr/dash/jobs.c +++ b/usr/dash/jobs.c @@ -974,10 +974,17 @@ waitforjob(struct job *jp) int st; TRACE(("waitforjob(%%%d) called\n", jp ? jobno(jp) : 0)); - while ((jp && jp->state == JOBRUNNING) || gotsigchld) - dowait(DOWAIT_BLOCK, jp); - if (!jp) + if (!jp) { + int pid = gotsigchld; + + while (pid > 0) + pid = dowait(DOWAIT_NORMAL, NULL); + return exitstatus; + } + + while (jp->state == JOBRUNNING) + dowait(DOW...
2020 Mar 28
0
[klibc:update-dash] dash: jobs - Do not block when waiting on SIGCHLD
...forjob(jp); + FORCEINTON; out: if (cmd->ncmd.redirect) diff --git a/usr/dash/jobs.c b/usr/dash/jobs.c index 3ea7e122..400628ff 100644 --- a/usr/dash/jobs.c +++ b/usr/dash/jobs.c @@ -974,10 +974,17 @@ waitforjob(struct job *jp) int st; TRACE(("waitforjob(%%%d) called\n", jp ? jobno(jp) : 0)); - while ((jp && jp->state == JOBRUNNING) || gotsigchld) - dowait(DOWAIT_BLOCK, jp); - if (!jp) + if (!jp) { + int pid = gotsigchld; + + while (pid > 0) + pid = dowait(DOWAIT_NORMAL, NULL); + return exitstatus; + } + + while (jp->state == JOBRUNNING) + dowait(DOW...