Lines Matching refs:newjob
121 static int run_command(struct job *newjob, int inbg, int outpipe[2]);
1168 static void insert_job(struct job *newjob, int inbg)
1171 struct jobset *j_list = newjob->job_list;
1174 newjob->jobid = 1;
1176 if (thejob->jobid >= newjob->jobid)
1177 newjob->jobid = thejob->jobid + 1;
1188 *thejob = *newjob; /* physically copy the struct job */
1198 newjob->progs[newjob->num_progs - 1].pid);
1199 last_jobid = newjob->jobid;
1200 last_bg_pid = newjob->progs[newjob->num_progs - 1].pid;
1202 newjob->job_list->fg = thejob;
1206 tcsetpgrp(shell_terminal, newjob->pgrp);
1211 static int run_command(struct job *newjob, int inbg, int outpipe[2])
1221 for (i = 0; i < newjob->num_progs; i++) {
1222 child = &(newjob->progs[i]);
1225 if ((i + 1) < newjob->num_progs) {
1238 if (newjob->num_progs == 1) {
1313 setpgid(child->pid, newjob->progs[0].pid);
1324 newjob->pgrp = newjob->progs[0].pid;
1326 insert_job(newjob, inbg);
1335 struct job newjob;
1344 newjob.job_list = &job_list;
1345 newjob.job_context = DEFAULT_CONTEXT;
1369 if (!parse_command(&next_command, &newjob, &inbg) &&
1370 newjob.num_progs) {
1373 &newjob);
1374 run_command(&newjob, inbg, pipefds);