Symbol: job
bin/ksh/exec.c
221
if (coproc.job && coproc.write >= 0)
bin/ksh/exec.c
237
coproc.job = (void *) 0;
bin/ksh/jobs.c
131
typedef struct job Job;
bin/ksh/jobs.c
134
int job; /* job number: %n */
bin/ksh/jobs.c
1365
if (coproc.job == j) {
bin/ksh/jobs.c
1366
coproc.job = (void *) 0;
bin/ksh/jobs.c
1418
j->job = -1;
bin/ksh/jobs.c
1455
filler = j->job > 10 ? "\n " : "\n ";
bin/ksh/jobs.c
1498
shf_fprintf(shf, "[%d] %c ", j->job, jobchar);
bin/ksh/jobs.c
1548
int len, job = 0;
bin/ksh/jobs.c
1551
job = atoi(cp);
bin/ksh/jobs.c
1554
if (j->last_proc && j->last_proc->pid == job)
bin/ksh/jobs.c
1560
if (j->pgrp && j->pgrp == job)
bin/ksh/jobs.c
1586
job = atoi(cp);
bin/ksh/jobs.c
1588
if (j->job == job)
bin/ksh/jobs.c
1650
for (j = job_list; j && j->job != i; j = j->next)
bin/ksh/jobs.c
1655
newj->job = i;
bin/ksh/jobs.c
654
coproc.job = (void *) j; /* j using co-process input */
bin/ksh/jobs.c
660
shf_fprintf(shl_out, "[%d]", j->job);
bin/ksh/jobs.c
840
shprintf("[%d] ", j->job);
bin/ksh/sh.h
473
void *job; /* 0 or job of co-process using input pipe */
bin/sh/cd.c
512
struct job *jp;
bin/sh/eval.c
552
struct job *jp= NULL;
bin/sh/eval.c
705
struct job *jp;
bin/sh/eval.c
768
struct job *jp;
bin/sh/eval.c
894
struct job * volatile jp;
bin/sh/eval.h
64
struct job *jp; /* job structure for command */
bin/sh/jobs.c
105
STATIC void restartjob(struct job *);
bin/sh/jobs.c
106
STATIC void freejob(struct job *);
bin/sh/jobs.c
108
STATIC struct job *getjob(const char *, int);
bin/sh/jobs.c
109
STATIC int dowait(int, struct job *, struct job **);
bin/sh/jobs.c
1121
struct job *jp;
bin/sh/jobs.c
113
STATIC int jobstatus(const struct job *, int);
bin/sh/jobs.c
1135
STATIC struct job *
bin/sh/jobs.c
1139
struct job *jp;
bin/sh/jobs.c
114
STATIC int waitproc(int, struct job *, int *);
bin/sh/jobs.c
1172
struct job *found;
bin/sh/jobs.c
1226
struct job *jp;
bin/sh/jobs.c
1246
jobstarted(struct job *jp)
bin/sh/jobs.c
1259
struct job *
bin/sh/jobs.c
1263
struct job *jp;
bin/sh/jobs.c
1339
forkshell(struct job *jp, union node *n, int mode)
bin/sh/jobs.c
1378
forkparent(struct job *jp, union node *n, int mode, pid_t pid)
bin/sh/jobs.c
1412
forkchild(struct job *jp, union node *n, int mode, int vforked, sigset_t *sigs)
bin/sh/jobs.c
1522
waitforjob(struct job *jp)
bin/sh/jobs.c
1595
dowait(int flags, struct job *job, struct job **changed)
bin/sh/jobs.c
1600
struct job *jp;
bin/sh/jobs.c
1601
struct job *thisjob;
bin/sh/jobs.c
1607
flags, JNUM(job), changed ? " [report change]" : ""));
bin/sh/jobs.c
1619
pid = waitproc(flags & WBLOCK, job, &status);
bin/sh/jobs.c
1753
if ((job == thisjob && (flags & WNOFREE) == 0) ||
bin/sh/jobs.c
1754
job != thisjob)
bin/sh/jobs.c
1763
job, JNUM(job)));
bin/sh/jobs.c
1819
waitproc(int block, struct job *jp, int *status)
bin/sh/jobs.c
1860
struct job *jp;
bin/sh/jobs.c
256
struct job *jp;
bin/sh/jobs.c
297
set_curjob(struct job *jp, int mode)
bin/sh/jobs.c
299
struct job *jp1, *jp2;
bin/sh/jobs.c
346
struct job *jp;
bin/sh/jobs.c
369
restartjob(struct job *jp)
bin/sh/jobs.c
432
showjob(struct output *out, struct job *jp, int mode)
bin/sh/jobs.c
602
struct job *jp;
bin/sh/jobs.c
648
freejob(struct job *jp)
bin/sh/jobs.c
667
struct job *jp;
bin/sh/jobs.c
682
jobstatus(const struct job *jp, int raw)
bin/sh/jobs.c
718
struct job *job, *last;
bin/sh/jobs.c
720
struct job *jp;
bin/sh/jobs.c
790
job = NULL;
bin/sh/jobs.c
822
job = jp;
bin/sh/jobs.c
829
job && job->used ? (job->ref ? job->ref : "<no-arg>") : "none"));
bin/sh/jobs.c
851
job = NULL;
bin/sh/jobs.c
855
job = jp;
bin/sh/jobs.c
859
job = jp;
bin/sh/jobs.c
861
if (i < 0 && job == NULL) {
bin/sh/jobs.c
868
jp = job;
bin/sh/jobs.c
877
job = NULL;
bin/sh/jobs.c
878
if ((i = dowait(WBLOCK|WNOFREE, NULL, &job)) == -1)
bin/sh/jobs.c
887
if (job == NULL)
bin/sh/jobs.c
894
if (job->state == JOBRUNNING)
bin/sh/jobs.c
897
job = jp; /* we want this, and it is done */
bin/sh/jobs.c
899
if (job->flags & JOBWANTED) {
bin/sh/jobs.c
902
job->flags &= ~JOBWANTED; /* got it */
bin/sh/jobs.c
903
rv = jobstatus(job, 0);
bin/sh/jobs.c
906
job->ref ? job->ref : "", rv));
bin/sh/jobs.c
907
if (any || job == last) {
bin/sh/jobs.c
909
fpid = job->ref;
bin/sh/jobs.c
923
"%d", job->ps[ job->nprocs ?
bin/sh/jobs.c
924
job->nprocs-1 : 0 ].pid);
bin/sh/jobs.c
931
if (job->state == JOBDONE) {
bin/sh/jobs.c
933
freejob(job);
bin/sh/jobs.c
947
if (oldwait && job->state == JOBDONE) {
bin/sh/jobs.c
949
freejob(job);
bin/sh/jobs.c
95
static struct job *jobtab; /* array of jobs */
bin/sh/jobs.c
958
struct job *jp;
bin/sh/jobs.c
960
int pg = 0, onep = 0, job = 0;
bin/sh/jobs.c
965
case 'j': job = 1; break;
bin/sh/jobs.c
970
onep ? " -p" : "", job ? " -j" : "", jobs_invalid ? " [inv]" : "",
bin/sh/jobs.c
972
if (pg + onep + job > 1)
bin/sh/jobs.c
982
if (job) {
bin/sh/jobs.h
104
void jobstarted(struct job *);
bin/sh/jobs.h
95
struct job *makejob(union node *, int);
bin/sh/jobs.h
96
int forkshell(struct job *, union node *, int);
bin/sh/jobs.h
97
void forkchild(struct job *, union node *, int, int, sigset_t *);
bin/sh/jobs.h
98
int forkparent(struct job *, union node *, int, pid_t);
bin/sh/jobs.h
99
int waitforjob(struct job *);
sys/arch/mips/atheros/dev/arspi.c
260
struct arspi_job *job = st->st_busprivate;
sys/arch/mips/atheros/dev/arspi.c
262
kmem_free(job, sizeof(*job));
sys/arch/mips/atheros/dev/arspi.c
283
struct arspi_job *job;
sys/arch/mips/atheros/dev/arspi.c
297
job = st->st_busprivate;
sys/arch/mips/atheros/dev/arspi.c
306
if (job->job_flags & JOB_WAIT) {
sys/arch/mips/atheros/dev/arspi.c
312
} else if (job->job_flags & JOB_WREN) {
sys/arch/mips/atheros/dev/arspi.c
319
PUTREG(sc, ARSPI_REG_DATA, job->job_data);
sys/arch/mips/atheros/dev/arspi.c
322
PUTREG(sc, ARSPI_REG_OPCODE, job->job_opcode |
sys/arch/mips/atheros/dev/arspi.c
323
(job->job_addr << 8));
sys/arch/mips/atheros/dev/arspi.c
327
cnt += job->job_addrcnt + job->job_txcnt;
sys/arch/mips/atheros/dev/arspi.c
331
cnt = job->job_rxcnt;
sys/arch/mips/atheros/dev/arspi.c
347
struct arspi_job *job;
sys/arch/mips/atheros/dev/arspi.c
350
job = st->st_busprivate;
sys/arch/mips/atheros/dev/arspi.c
352
if (job->job_flags & JOB_WAIT) {
sys/arch/mips/atheros/dev/arspi.c
357
job->job_flags &= ~JOB_WAIT;
sys/arch/mips/atheros/dev/arspi.c
361
} else if (job->job_flags & JOB_WREN) {
sys/arch/mips/atheros/dev/arspi.c
363
job->job_flags &= ~JOB_WREN;
sys/arch/mips/atheros/dev/arspi.c
373
if (job->job_flags & JOB_WRITE)
sys/arch/mips/atheros/dev/arspi.c
374
job->job_flags |= (JOB_WAIT | JOB_WREN);
sys/arch/mips/atheros/dev/arspi.c
375
job->job_data = GETREG(sc, ARSPI_REG_DATA);
sys/arch/mips/atheros/dev/arspi.c
379
if (err || (job->job_flags & JOB_LAST)) {
sys/arch/mips/atheros/dev/arspi.c
383
kmem_free(job, sizeof(*job));
sys/arch/mips/atheros/dev/arspi.c
466
struct arspi_job *job;
sys/arch/mips/atheros/dev/arspi.c
471
job = kmem_zalloc(sizeof (struct arspi_job), KM_SLEEP);
sys/arch/mips/atheros/dev/arspi.c
473
st->st_busprivate = job;
sys/arch/mips/atheros/dev/arspi.c
482
job->job_opcode = byte;
sys/arch/mips/atheros/dev/arspi.c
483
switch (job->job_opcode) {
sys/arch/mips/atheros/dev/arspi.c
489
job->job_rxcnt = 3;
sys/arch/mips/atheros/dev/arspi.c
492
job->job_rxcnt = 1;
sys/arch/mips/atheros/dev/arspi.c
499
job->job_txcnt = 1;
sys/arch/mips/atheros/dev/arspi.c
502
job->job_addrcnt = 3; /* 3 dummy bytes */
sys/arch/mips/atheros/dev/arspi.c
503
job->job_rxcnt = 1;
sys/arch/mips/atheros/dev/arspi.c
506
job->job_addrcnt = 3;
sys/arch/mips/atheros/dev/arspi.c
509
job->job_addrcnt = 3;
sys/arch/mips/atheros/dev/arspi.c
510
job->job_flags |= JOB_READ;
sys/arch/mips/atheros/dev/arspi.c
513
job->job_addrcnt = 3;
sys/arch/mips/atheros/dev/arspi.c
514
job->job_flags |= JOB_WRITE;
sys/arch/mips/atheros/dev/arspi.c
522
job->job_addrcnt = 3; /* 3 address */
sys/arch/mips/atheros/dev/arspi.c
523
job->job_flags |= JOB_READ;
sys/arch/mips/atheros/dev/arspi.c
529
for (i = 0; i < job->job_addrcnt; i++) {
sys/arch/mips/atheros/dev/arspi.c
532
job->job_addr <<= 8;
sys/arch/mips/atheros/dev/arspi.c
533
job->job_addr |= byte;
sys/arch/mips/atheros/dev/arspi.c
537
if (job->job_opcode == SPIFLASH_CMD_READFAST) {
sys/arch/mips/atheros/dev/arspi.c
542
job->job_opcode = SPIFLASH_CMD_READ;
sys/arch/mips/atheros/dev/arspi.c
545
job->job_chunk = chunk;
sys/arch/mips/atheros/dev/arspi.c
551
for (chunk = job->job_chunk; chunk; chunk = chunk->chunk_next) {
sys/arch/mips/atheros/dev/arspi.c
553
job->job_wresid += chunk->chunk_wresid;
sys/arch/mips/atheros/dev/arspi.c
556
job->job_rresid += chunk->chunk_rresid;
sys/arch/mips/atheros/dev/arspi.c
560
if (job->job_rresid && job->job_wresid) {
sys/arch/mips/atheros/dev/arspi.c
579
struct arspi_job *job = st->st_busprivate;
sys/arch/mips/atheros/dev/arspi.c
583
if (job->job_flags & (JOB_WAIT|JOB_WREN))
sys/arch/mips/atheros/dev/arspi.c
586
job->job_rxcnt = 0;
sys/arch/mips/atheros/dev/arspi.c
587
job->job_txcnt = 0;
sys/arch/mips/atheros/dev/arspi.c
588
job->job_data = 0;
sys/arch/mips/atheros/dev/arspi.c
590
job->job_txcnt = uimin(job->job_wresid, 4);
sys/arch/mips/atheros/dev/arspi.c
591
job->job_rxcnt = uimin(job->job_rresid, 4);
sys/arch/mips/atheros/dev/arspi.c
593
job->job_wresid -= job->job_txcnt;
sys/arch/mips/atheros/dev/arspi.c
594
job->job_rresid -= job->job_rxcnt;
sys/arch/mips/atheros/dev/arspi.c
596
for (i = 0; i < job->job_txcnt; i++) {
sys/arch/mips/atheros/dev/arspi.c
597
arspi_get_byte(&job->job_chunk, &byte);
sys/arch/mips/atheros/dev/arspi.c
598
job->job_data |= (byte << (i * 8));
sys/arch/mips/atheros/dev/arspi.c
601
if ((!job->job_wresid) && (!job->job_rresid)) {
sys/arch/mips/atheros/dev/arspi.c
602
job->job_flags |= JOB_LAST;
sys/arch/mips/atheros/dev/arspi.c
609
struct arspi_job *job = st->st_busprivate;
sys/arch/mips/atheros/dev/arspi.c
613
job->job_addr += job->job_rxcnt;
sys/arch/mips/atheros/dev/arspi.c
614
job->job_addr += job->job_txcnt;
sys/arch/mips/atheros/dev/arspi.c
615
for (i = 0; i < job->job_rxcnt; i++) {
sys/arch/mips/atheros/dev/arspi.c
616
byte = job->job_data & 0xff;
sys/arch/mips/atheros/dev/arspi.c
617
job->job_data >>= 8;
sys/arch/mips/atheros/dev/arspi.c
618
arspi_put_byte(&job->job_chunk, byte);
sys/kern/kern_threadpool.c
1043
struct threadpool_job *const job = TAILQ_FIRST(&pool->tp_jobs);
sys/kern/kern_threadpool.c
1049
threadpool_job_hold(job);
sys/kern/kern_threadpool.c
1052
mutex_enter(job->job_lock);
sys/kern/kern_threadpool.c
1054
if (__predict_true(job->job_thread == dispatcher)) {
sys/kern/kern_threadpool.c
1056
TAILQ_REMOVE(&pool->tp_jobs, job, job_entry);
sys/kern/kern_threadpool.c
1064
dispatcher__race, pool, job);
sys/kern/kern_threadpool.c
1065
TAILQ_INSERT_HEAD(&pool->tp_jobs, job,
sys/kern/kern_threadpool.c
1076
dispatcher__assign, job, thread->tpt_lwp);
sys/kern/kern_threadpool.c
1080
thread->tpt_job = job;
sys/kern/kern_threadpool.c
1081
job->job_thread = thread;
sys/kern/kern_threadpool.c
1086
threadpool_job_rele(job);
sys/kern/kern_threadpool.c
1087
mutex_exit(job->job_lock);
sys/kern/kern_threadpool.c
1136
struct threadpool_job *const job = thread->tpt_job;
sys/kern/kern_threadpool.c
1137
KASSERT(job != NULL);
sys/kern/kern_threadpool.c
1143
curlwp->l_name = job->job_name;
sys/kern/kern_threadpool.c
1148
SDT_PROBE2(sdt, kernel, threadpool, thread__job, pool, job);
sys/kern/kern_threadpool.c
1151
(*job->job_fn)(job);
sys/kern/kern_threadpool.c
1164
KASSERT(thread->tpt_job == job);
sys/kern/kern_threadpool.c
752
threadpool_job_init(struct threadpool_job *job, threadpool_job_fn_t fn,
sys/kern/kern_threadpool.c
758
(void)vsnprintf(job->job_name, sizeof(job->job_name), fmt, ap);
sys/kern/kern_threadpool.c
761
job->job_lock = lock;
sys/kern/kern_threadpool.c
762
job->job_thread = NULL;
sys/kern/kern_threadpool.c
763
job->job_refcnt = 0;
sys/kern/kern_threadpool.c
764
cv_init(&job->job_cv, job->job_name);
sys/kern/kern_threadpool.c
765
job->job_fn = fn;
sys/kern/kern_threadpool.c
769
threadpool_job_dead(struct threadpool_job *job)
sys/kern/kern_threadpool.c
772
panic("threadpool job %p ran after destruction", job);
sys/kern/kern_threadpool.c
776
threadpool_job_destroy(struct threadpool_job *job)
sys/kern/kern_threadpool.c
781
KASSERTMSG((job->job_thread == NULL), "job %p still running", job);
sys/kern/kern_threadpool.c
783
mutex_enter(job->job_lock);
sys/kern/kern_threadpool.c
784
while (0 < atomic_load_relaxed(&job->job_refcnt))
sys/kern/kern_threadpool.c
785
cv_wait(&job->job_cv, job->job_lock);
sys/kern/kern_threadpool.c
786
mutex_exit(job->job_lock);
sys/kern/kern_threadpool.c
788
job->job_lock = NULL;
sys/kern/kern_threadpool.c
789
KASSERT(job->job_thread == NULL);
sys/kern/kern_threadpool.c
790
KASSERT(job->job_refcnt == 0);
sys/kern/kern_threadpool.c
791
KASSERT(!cv_has_waiters(&job->job_cv));
sys/kern/kern_threadpool.c
792
cv_destroy(&job->job_cv);
sys/kern/kern_threadpool.c
793
job->job_fn = threadpool_job_dead;
sys/kern/kern_threadpool.c
794
(void)strlcpy(job->job_name, "deadjob", sizeof(job->job_name));
sys/kern/kern_threadpool.c
798
threadpool_job_hold(struct threadpool_job *job)
sys/kern/kern_threadpool.c
802
refcnt = atomic_inc_uint_nv(&job->job_refcnt);
sys/kern/kern_threadpool.c
807
threadpool_job_rele(struct threadpool_job *job)
sys/kern/kern_threadpool.c
811
KASSERT(mutex_owned(job->job_lock));
sys/kern/kern_threadpool.c
813
refcnt = atomic_dec_uint_nv(&job->job_refcnt);
sys/kern/kern_threadpool.c
816
cv_broadcast(&job->job_cv);
sys/kern/kern_threadpool.c
820
threadpool_job_done(struct threadpool_job *job)
sys/kern/kern_threadpool.c
823
KASSERT(mutex_owned(job->job_lock));
sys/kern/kern_threadpool.c
824
KASSERT(job->job_thread != NULL);
sys/kern/kern_threadpool.c
825
KASSERT(job->job_thread->tpt_lwp == curlwp);
sys/kern/kern_threadpool.c
833
curlwp->l_name = job->job_thread->tpt_lwp_savedname;
sys/kern/kern_threadpool.c
843
KASSERT(0 < atomic_load_relaxed(&job->job_refcnt));
sys/kern/kern_threadpool.c
844
unsigned int refcnt __diagused = atomic_dec_uint_nv(&job->job_refcnt);
sys/kern/kern_threadpool.c
846
cv_broadcast(&job->job_cv);
sys/kern/kern_threadpool.c
847
job->job_thread = NULL;
sys/kern/kern_threadpool.c
851
threadpool_schedule_job(struct threadpool *pool, struct threadpool_job *job)
sys/kern/kern_threadpool.c
854
KASSERT(mutex_owned(job->job_lock));
sys/kern/kern_threadpool.c
856
SDT_PROBE2(sdt, kernel, threadpool, schedule__job, pool, job);
sys/kern/kern_threadpool.c
864
if (__predict_true(job->job_thread != NULL)) {
sys/kern/kern_threadpool.c
866
pool, job);
sys/kern/kern_threadpool.c
870
threadpool_job_hold(job);
sys/kern/kern_threadpool.c
877
pool, job);
sys/kern/kern_threadpool.c
878
job->job_thread = &pool->tp_dispatcher;
sys/kern/kern_threadpool.c
879
TAILQ_INSERT_TAIL(&pool->tp_jobs, job, job_entry);
sys/kern/kern_threadpool.c
882
job->job_thread = TAILQ_FIRST(&pool->tp_idle_threads);
sys/kern/kern_threadpool.c
884
pool, job, job->job_thread->tpt_lwp);
sys/kern/kern_threadpool.c
885
TAILQ_REMOVE(&pool->tp_idle_threads, job->job_thread,
sys/kern/kern_threadpool.c
887
job->job_thread->tpt_job = job;
sys/kern/kern_threadpool.c
891
KASSERT(job->job_thread != NULL);
sys/kern/kern_threadpool.c
892
cv_broadcast(&job->job_thread->tpt_cv);
sys/kern/kern_threadpool.c
897
threadpool_cancel_job_async(struct threadpool *pool, struct threadpool_job *job)
sys/kern/kern_threadpool.c
900
KASSERT(mutex_owned(job->job_lock));
sys/kern/kern_threadpool.c
923
if (job->job_thread == NULL) {
sys/kern/kern_threadpool.c
926
} else if (job->job_thread == &pool->tp_dispatcher) {
sys/kern/kern_threadpool.c
928
job->job_thread = NULL;
sys/kern/kern_threadpool.c
930
TAILQ_REMOVE(&pool->tp_jobs, job, job_entry);
sys/kern/kern_threadpool.c
932
threadpool_job_rele(job);
sys/kern/kern_threadpool.c
941
threadpool_cancel_job(struct threadpool *pool, struct threadpool_job *job)
sys/kern/kern_threadpool.c
951
KASSERT(mutex_owned(job->job_lock));
sys/kern/kern_threadpool.c
953
if (threadpool_cancel_job_async(pool, job))
sys/kern/kern_threadpool.c
957
while (job->job_thread != NULL)
sys/kern/kern_threadpool.c
958
cv_wait(&job->job_cv, job->job_lock);
sys/kern/sys_aio.c
1002
struct aiocb *aiocbp = &job->aiocbp;
sys/kern/sys_aio.c
1005
error = uio_construct(job, &fp, &aiov, &auio);
sys/kern/sys_aio.c
1021
job->aiocbp.aio_nbytes -= auio.uio_resid;
sys/kern/sys_aio.c
1022
job->aiocbp._retval = (error == 0) ? job->aiocbp.aio_nbytes : -1;
sys/kern/sys_aio.c
1024
job->aiocbp._errno = error;
sys/kern/sys_aio.c
1025
job->aiocbp._state = JOB_DONE;
sys/kern/sys_aio.c
1033
io_read_fallback(struct aio_job *job)
sys/kern/sys_aio.c
1038
struct aiocb *aiocbp = &job->aiocbp;
sys/kern/sys_aio.c
1041
error = uio_construct(job, &fp, &aiov, &auio);
sys/kern/sys_aio.c
1055
job->aiocbp.aio_nbytes -= auio.uio_resid;
sys/kern/sys_aio.c
1056
job->aiocbp._retval = (error == 0) ? job->aiocbp.aio_nbytes : -1;
sys/kern/sys_aio.c
1058
job->aiocbp._errno = error;
sys/kern/sys_aio.c
1059
job->aiocbp._state = JOB_DONE;
sys/kern/sys_aio.c
1067
io_sync(struct aio_job *job)
sys/kern/sys_aio.c
1069
struct file *fp = job->fp;
sys/kern/sys_aio.c
1085
if (job->aio_op & AIO_DSYNC) {
sys/kern/sys_aio.c
1094
job->aiocbp._retval = (error == 0) ? 0 : -1;
sys/kern/sys_aio.c
1096
job->aiocbp._errno = error;
sys/kern/sys_aio.c
1097
job->aiocbp._state = JOB_DONE;
sys/kern/sys_aio.c
1099
copyout(&job->aiocbp, job->aiocb_uptr, sizeof(job->aiocbp));
sys/kern/sys_aio.c
1136
struct aio_job *job;
sys/kern/sys_aio.c
1142
job = st->job;
sys/kern/sys_aio.c
1143
if (job && st->job->aiocb_uptr == uptr) {
sys/kern/sys_aio.c
1148
TAILQ_FOREACH(job, &st->fg->queue, list) {
sys/kern/sys_aio.c
1149
if (job->aiocb_uptr == uptr) {
sys/kern/sys_aio.c
1171
struct aio_job *job;
sys/kern/sys_aio.c
1174
error = aiocbp_lookup_job(aiosp, uptr, &job);
sys/kern/sys_aio.c
1175
if (error || job == NULL) {
sys/kern/sys_aio.c
1179
if (job->aiocbp._state == JOB_NONE) {
sys/kern/sys_aio.c
1180
mutex_exit(&job->mtx);
sys/kern/sys_aio.c
1184
*retval = job->aiocbp._errno;
sys/kern/sys_aio.c
1185
mutex_exit(&job->mtx);
sys/kern/sys_aio.c
1197
struct aio_job *job = NULL;
sys/kern/sys_aio.c
1200
error = aiocbp_remove_job(aiosp, uptr, &job, &handle);
sys/kern/sys_aio.c
1205
if (job == NULL) {
sys/kern/sys_aio.c
1212
if (job->aiocbp._state != JOB_DONE) {
sys/kern/sys_aio.c
1213
mutex_exit(&job->mtx);
sys/kern/sys_aio.c
1220
*retval = job->aiocbp._retval;
sys/kern/sys_aio.c
1222
if (job->fp) {
sys/kern/sys_aio.c
1223
aio_file_release(job->fp);
sys/kern/sys_aio.c
1224
job->fp = NULL;
sys/kern/sys_aio.c
1227
job->aiocbp._errno = 0;
sys/kern/sys_aio.c
1228
job->aiocbp._retval = -1;
sys/kern/sys_aio.c
1229
job->aiocbp._state = JOB_NONE;
sys/kern/sys_aio.c
1231
mutex_exit(&job->mtx);
sys/kern/sys_aio.c
1236
aio_job_fini(job);
sys/kern/sys_aio.c
1237
pool_put(&aio_job_pool, job);
sys/kern/sys_aio.c
1260
struct aio_job *job = NULL;
sys/kern/sys_aio.c
1269
job = aiocbp->job;
sys/kern/sys_aio.c
1270
if (job) {
sys/kern/sys_aio.c
1271
mutex_enter(&job->mtx);
sys/kern/sys_aio.c
1275
*jobp = job;
sys/kern/sys_aio.c
1293
struct aio_job *job = NULL;
sys/kern/sys_aio.c
1305
job = aiocbp->job;
sys/kern/sys_aio.c
1306
if (job) {
sys/kern/sys_aio.c
1307
mutex_enter(&job->mtx);
sys/kern/sys_aio.c
1315
*jobp = job;
sys/kern/sys_aio.c
1341
found->job = aiocbp->job;
sys/kern/sys_aio.c
1675
aiocbp->job = a_job;
sys/kern/sys_aio.c
1741
struct aio_job *job;
sys/kern/sys_aio.c
1788
error = aiocbp_lookup_job(aiosp, aiocbp_uptr, &job);
sys/kern/sys_aio.c
1789
if (error || job == NULL) {
sys/kern/sys_aio.c
1794
if (job->completed) {
sys/kern/sys_aio.c
1806
if (job->on_queue) {
sys/kern/sys_aio.c
1807
aio_job_cancel(aiosp, job);
sys/kern/sys_aio.c
1808
aio_job_mark_complete(job);
sys/kern/sys_aio.c
1812
mutex_exit(&job->mtx);
sys/kern/sys_aio.c
1818
TAILQ_FOREACH_SAFE(job, &aiosp->jobs, list, tmp) {
sys/kern/sys_aio.c
1819
if (job->aiocbp.aio_fildes == (int)fildes) {
sys/kern/sys_aio.c
1820
aio_job_cancel(aiosp, job);
sys/kern/sys_aio.c
1821
aio_job_mark_complete(job);
sys/kern/sys_aio.c
2175
struct aio_job *job;
sys/kern/sys_aio.c
2201
TAILQ_FOREACH(job, &sp->jobs, list) {
sys/kern/sys_aio.c
2203
job->aio_op, job->aiocbp._errno, job->aiocbp._state,
sys/kern/sys_aio.c
2204
job->aiocb_uptr, job->completed);
sys/kern/sys_aio.c
2206
job->aiocbp.aio_fildes,
sys/kern/sys_aio.c
2207
(unsigned long long)job->aiocbp.aio_offset,
sys/kern/sys_aio.c
2208
(void *)job->aiocbp.aio_buf,
sys/kern/sys_aio.c
2209
(size_t)job->aiocbp.aio_nbytes,
sys/kern/sys_aio.c
2210
job->lio);
sys/kern/sys_aio.c
2219
if (st->job) {
sys/kern/sys_aio.c
2220
struct aio_job *j = st->job;
sys/kern/sys_aio.c
2254
(*pr)(" uptr=%p job=%p", hc->uptr, hc->job);
sys/kern/sys_aio.c
327
aio_job_fini(struct aio_job *job)
sys/kern/sys_aio.c
329
mutex_enter(&job->mtx);
sys/kern/sys_aio.c
330
aiowaitgrouplk_fini(&job->lk);
sys/kern/sys_aio.c
331
mutex_exit(&job->mtx);
sys/kern/sys_aio.c
332
mutex_destroy(&job->mtx);
sys/kern/sys_aio.c
339
aio_job_mark_complete(struct aio_job *job)
sys/kern/sys_aio.c
341
mutex_enter(&job->mtx);
sys/kern/sys_aio.c
342
job->completed = true;
sys/kern/sys_aio.c
343
aio_file_release(job->fp);
sys/kern/sys_aio.c
344
job->fp = NULL;
sys/kern/sys_aio.c
346
aiowaitgrouplk_flush(&job->lk);
sys/kern/sys_aio.c
347
mutex_exit(&job->mtx);
sys/kern/sys_aio.c
349
aiost_sigsend(job->p, &job->aiocbp.aio_sigevent);
sys/kern/sys_aio.c
383
aio_job_release(struct aio_job *job)
sys/kern/sys_aio.c
385
if (job->fp) {
sys/kern/sys_aio.c
386
aio_file_release(job->fp);
sys/kern/sys_aio.c
387
job->fp = NULL;
sys/kern/sys_aio.c
390
aio_job_fini(job);
sys/kern/sys_aio.c
391
pool_put(&aio_job_pool, job);
sys/kern/sys_aio.c
399
aio_job_cancel(struct aiosp *aiosp, struct aio_job *job)
sys/kern/sys_aio.c
401
mutex_enter(&job->mtx);
sys/kern/sys_aio.c
402
TAILQ_REMOVE(&aiosp->jobs, job, list);
sys/kern/sys_aio.c
404
job->on_queue = false;
sys/kern/sys_aio.c
405
job->aiocbp._errno = ECANCELED;
sys/kern/sys_aio.c
406
mutex_exit(&job->mtx);
sys/kern/sys_aio.c
447
struct aio_job *job, *tmp;
sys/kern/sys_aio.c
457
TAILQ_FOREACH_SAFE(job, &sp->jobs, list, tmp) {
sys/kern/sys_aio.c
458
fp = job->fp;
sys/kern/sys_aio.c
485
aiost->job = NULL;
sys/kern/sys_aio.c
496
aiost->job = job;
sys/kern/sys_aio.c
499
TAILQ_REMOVE(&sp->jobs, job, list);
sys/kern/sys_aio.c
501
job->on_queue = false;
sys/kern/sys_aio.c
505
TAILQ_INSERT_TAIL(&fg->queue, job, list);
sys/kern/sys_aio.c
533
struct aio_job *job;
sys/kern/sys_aio.c
554
error = aiocbp_lookup_job(aiosp, aiocbp_list[i], &job);
sys/kern/sys_aio.c
558
if (job == NULL) {
sys/kern/sys_aio.c
562
if (job->completed) {
sys/kern/sys_aio.c
567
mutex_exit(&job->mtx);
sys/kern/sys_aio.c
571
aiowaitgroup_join(wg, &job->lk);
sys/kern/sys_aio.c
573
mutex_exit(&job->mtx);
sys/kern/sys_aio.c
700
aiosp_enqueue_job(struct aiosp *aiosp, struct aio_job *job)
sys/kern/sys_aio.c
704
TAILQ_INSERT_TAIL(&aiosp->jobs, job, list);
sys/kern/sys_aio.c
706
job->on_queue = true;
sys/kern/sys_aio.c
727
st->job = NULL;
sys/kern/sys_aio.c
754
aiost_process_singleton(struct aio_job *job)
sys/kern/sys_aio.c
756
if ((job->aio_op & AIO_READ) == AIO_READ) {
sys/kern/sys_aio.c
757
io_read(job);
sys/kern/sys_aio.c
758
} else if ((job->aio_op & AIO_WRITE) == AIO_WRITE) {
sys/kern/sys_aio.c
759
io_write(job);
sys/kern/sys_aio.c
760
} else if ((job->aio_op & AIO_SYNC) == AIO_SYNC) {
sys/kern/sys_aio.c
761
io_sync(job);
sys/kern/sys_aio.c
764
job->aio_op);
sys/kern/sys_aio.c
767
aio_job_mark_complete(job);
sys/kern/sys_aio.c
776
for (struct aio_job *job;;) {
sys/kern/sys_aio.c
778
job = TAILQ_FIRST(&fg->queue);
sys/kern/sys_aio.c
779
if (job) {
sys/kern/sys_aio.c
780
TAILQ_REMOVE(&fg->queue, job, list);
sys/kern/sys_aio.c
784
if (job == NULL) {
sys/kern/sys_aio.c
788
aiost_process_singleton(job);
sys/kern/sys_aio.c
842
} else if (st->job) {
sys/kern/sys_aio.c
843
struct aio_job *job = st->job;
sys/kern/sys_aio.c
846
aiost_process_singleton(job);
sys/kern/sys_aio.c
861
st->job = NULL;
sys/kern/sys_aio.c
884
if (st->job) {
sys/kern/sys_aio.c
885
aio_job_release(st->job);
sys/kern/sys_aio.c
890
for (struct aio_job *job;;) {
sys/kern/sys_aio.c
892
job = TAILQ_FIRST(&fg->queue);
sys/kern/sys_aio.c
893
if (job) {
sys/kern/sys_aio.c
894
TAILQ_REMOVE(&fg->queue, job, list);
sys/kern/sys_aio.c
898
if (job == NULL) {
sys/kern/sys_aio.c
902
aio_job_release(job);
sys/kern/sys_aio.c
950
io_write(struct aio_job *job)
sys/kern/sys_aio.c
952
return io_write_fallback(job);
sys/kern/sys_aio.c
959
io_read(struct aio_job *job)
sys/kern/sys_aio.c
961
return io_read_fallback(job);
sys/kern/sys_aio.c
968
uio_construct(struct aio_job *job, struct file **fp, struct iovec *aiov,
sys/kern/sys_aio.c
971
struct aiocb *aiocbp = &job->aiocbp;
sys/kern/sys_aio.c
976
*fp = job->fp;
sys/kern/sys_aio.c
988
auio->uio_vmspace = job->p->p_vmspace;
sys/kern/sys_aio.c
997
io_write_fallback(struct aio_job *job)
sys/kern/vfs_vnode.c
705
vdrain_task(struct threadpool_job *job)
sys/kern/vfs_vnode.c
716
threadpool_job_done(job);
sys/kern/vfs_vnode.c
724
vrele_task(struct threadpool_job *job)
sys/kern/vfs_vnode.c
750
threadpool_job_done(job);
sys/net/if_wg.c
3746
wg_job(struct threadpool_job *job)
sys/net/if_wg.c
3748
struct wg_softc *wg = container_of(job, struct wg_softc, wg_job);
sys/net/if_wg.c
3763
threadpool_job_done(job);
sys/sys/aio.h
158
struct aio_job *job; /* Singleton job */
sys/sys/aio.h
164
struct aio_job *job;
tests/kernel/threadpool_tester/threadpool_tester.c
346
threadpool_tester_job(struct threadpool_job *job)
tests/kernel/threadpool_tester/threadpool_tester.c
349
container_of(job, struct tester_context, ctx_job);
tests/kernel/threadpool_tester/threadpool_tester.c
352
TP_LOG(("%s: job = %p, ctx = %p\n", __func__, job, ctx));
tests/kernel/threadpool_tester/threadpool_tester.c
364
threadpool_job_done(job);
tests/modules/threadpool_tester/threadpool_tester.c
346
threadpool_tester_job(struct threadpool_job *job)
tests/modules/threadpool_tester/threadpool_tester.c
349
container_of(job, struct tester_context, ctx_job);
tests/modules/threadpool_tester/threadpool_tester.c
352
TP_LOG(("%s: job = %p, ctx = %p\n", __func__, job, ctx));
tests/modules/threadpool_tester/threadpool_tester.c
364
threadpool_job_done(job);
tests/rump/kernspace/threadpool.c
105
test_job_func_schedule(struct threadpool_job *job)
tests/rump/kernspace/threadpool.c
108
container_of(job, struct test_job_data, job);
tests/rump/kernspace/threadpool.c
114
threadpool_job_done(job);
tests/rump/kernspace/threadpool.c
119
test_job_func_cancel(struct threadpool_job *job)
tests/rump/kernspace/threadpool.c
122
container_of(job, struct test_job_data, job);
tests/rump/kernspace/threadpool.c
133
threadpool_job_done(job);
tests/rump/kernspace/threadpool.c
142
threadpool_job_init(&data->job, fn, &data->mutex, "testjob");
tests/rump/kernspace/threadpool.c
149
threadpool_job_destroy(&data->job);
tests/rump/kernspace/threadpool.c
168
threadpool_schedule_job(pool, &data.job);
tests/rump/kernspace/threadpool.c
196
threadpool_schedule_job(pool, &data.job);
tests/rump/kernspace/threadpool.c
221
threadpool_schedule_job(pool, &data.job);
tests/rump/kernspace/threadpool.c
227
rv = threadpool_cancel_job_async(pool, &data.job);
tests/rump/kernspace/threadpool.c
234
threadpool_cancel_job(pool, &data.job);
tests/rump/kernspace/threadpool.c
257
threadpool_schedule_job(pool, &data.job);
tests/rump/kernspace/threadpool.c
270
threadpool_cancel_job(pool, &data.job);
tests/rump/kernspace/threadpool.c
99
struct threadpool_job job;
usr.bin/make/job.c
1025
JobWriteCommand(Job *job, ShellWriter *wr, StringListNode *ln, const char *ucmd)
usr.bin/make/job.c
1036
run = GNode_ShouldExecute(job->node);
usr.bin/make/job.c
1038
xcmd = Var_SubstInTarget(ucmd, job->node);
usr.bin/make/job.c
1042
if (job->node->flags.doneSubmake == false
usr.bin/make/job.c
1043
&& (job->node->type & (OP_MAKE | OP_SUBMAKE)) == 0) {
usr.bin/make/job.c
1045
job->node->type |= OP_SUBMAKE;
usr.bin/make/job.c
1058
(void)Compat_RunCommand(ucmd, job->node, ln);
usr.bin/make/job.c
1071
if (job->echo && run && shell->hasEchoCtl)
usr.bin/make/job.c
1078
JobWriteSpecials(job, wr, escCmd, run, &cmdFlags, &cmdTemplate);
usr.bin/make/job.c
1089
if (job->echo && cmdFlags.echo) {
usr.bin/make/job.c
1114
ShellWriter_ErrOn(wr, cmdFlags.echo && job->echo);
usr.bin/make/job.c
1129
JobWriteCommands(Job *job)
usr.bin/make/job.c
1135
wr.f = job->cmdFILE;
usr.bin/make/job.c
1138
for (ln = job->node->commands.first; ln != NULL; ln = ln->next) {
usr.bin/make/job.c
1142
job->node->type |= OP_SAVE_CMDS;
usr.bin/make/job.c
1143
job->tailCmds = ln->next;
usr.bin/make/job.c
1147
JobWriteCommand(job, &wr, ln, ln->datum);
usr.bin/make/job.c
1150
job->node->flags.doneSubmake = true;
usr.bin/make/job.c
1160
JobSaveCommands(Job *job)
usr.bin/make/job.c
1164
for (ln = job->tailCmds; ln != NULL; ln = ln->next) {
usr.bin/make/job.c
1172
expanded_cmd = Var_SubstInTarget(cmd, job->node);
usr.bin/make/job.c
1182
JobClosePipes(Job *job)
usr.bin/make/job.c
1184
clearfd(job);
usr.bin/make/job.c
1185
(void)close(job->outPipe);
usr.bin/make/job.c
1186
job->outPipe = -1;
usr.bin/make/job.c
1188
CollectOutput(job, true);
usr.bin/make/job.c
1189
(void)close(job->inPipe);
usr.bin/make/job.c
1190
job->inPipe = -1;
usr.bin/make/job.c
1194
DebugFailedJob(const Job *job)
usr.bin/make/job.c
1202
debug_printf("*** Failed target: %s\n", job->node->name);
usr.bin/make/job.c
1205
for (ln = job->node->commands.first; ln != NULL; ln = ln->next) {
usr.bin/make/job.c
1210
char *xcmd = Var_Subst(cmd, job->node, VARE_EVAL);
usr.bin/make/job.c
1218
JobFinishDoneExitedError(Job *job, int *inout_status)
usr.bin/make/job.c
1220
SwitchOutputTo(job->node);
usr.bin/make/job.c
1223
meta_job_error(job, job->node,
usr.bin/make/job.c
1224
job->ignerr, WEXITSTATUS(*inout_status));
usr.bin/make/job.c
1227
if (!shouldDieQuietly(job->node, -1)) {
usr.bin/make/job.c
1228
DebugFailedJob(job);
usr.bin/make/job.c
1230
job->node->name, WEXITSTATUS(*inout_status),
usr.bin/make/job.c
1231
job->ignerr ? " (ignored)" : "");
usr.bin/make/job.c
1234
if (job->ignerr)
usr.bin/make/job.c
1238
JobDeleteTarget(job->node);
usr.bin/make/job.c
1239
PrintOnError(job->node, "\n");
usr.bin/make/job.c
1244
JobFinishDoneExited(Job *job, int *inout_status)
usr.bin/make/job.c
1247
job->node->name, job->pid);
usr.bin/make/job.c
1250
JobFinishDoneExitedError(job, inout_status);
usr.bin/make/job.c
1252
SwitchOutputTo(job->node);
usr.bin/make/job.c
1254
job->node->name, job->pid);
usr.bin/make/job.c
1259
JobFinishDoneSignaled(Job *job, int status)
usr.bin/make/job.c
1261
SwitchOutputTo(job->node);
usr.bin/make/job.c
1262
DebugFailedJob(job);
usr.bin/make/job.c
1263
(void)printf("*** [%s] Signal %d\n", job->node->name, WTERMSIG(status));
usr.bin/make/job.c
1265
JobDeleteTarget(job->node);
usr.bin/make/job.c
1269
JobFinishDone(Job *job, int *inout_status)
usr.bin/make/job.c
1272
JobFinishDoneExited(job, inout_status);
usr.bin/make/job.c
1274
JobFinishDoneSignaled(job, *inout_status);
usr.bin/make/job.c
1284
JobFinish(Job *job, int status)
usr.bin/make/job.c
1289
job->node->name, job->pid, status);
usr.bin/make/job.c
1291
if ((WIFEXITED(status) && WEXITSTATUS(status) != 0 && !job->ignerr) ||
usr.bin/make/job.c
1295
JobClosePipes(job);
usr.bin/make/job.c
1296
if (job->cmdFILE != NULL && job->cmdFILE != stdout) {
usr.bin/make/job.c
1297
if (fclose(job->cmdFILE) != 0)
usr.bin/make/job.c
1299
job->node->name, strerror(errno));
usr.bin/make/job.c
1300
job->cmdFILE = NULL;
usr.bin/make/job.c
1312
JobClosePipes(job);
usr.bin/make/job.c
1320
JobFinishDone(job, &status);
usr.bin/make/job.c
1324
int meta_status = meta_job_finish(job);
usr.bin/make/job.c
1332
Trace_Log(JOBEND, job);
usr.bin/make/job.c
1333
if (!job->special) {
usr.bin/make/job.c
1341
JobSaveCommands(job);
usr.bin/make/job.c
1342
job->node->made = MADE;
usr.bin/make/job.c
1343
if (!job->special)
usr.bin/make/job.c
1345
Make_Update(job->node);
usr.bin/make/job.c
1346
job->status = JOB_ST_FREE;
usr.bin/make/job.c
1349
job->status = JOB_ST_FREE;
usr.bin/make/job.c
1524
JobExec(Job *job, char **argv)
usr.bin/make/job.c
1532
debug_printf("Running %s\n", job->node->name);
usr.bin/make/job.c
1546
if (job->echo)
usr.bin/make/job.c
1547
SwitchOutputTo(job->node);
usr.bin/make/job.c
1553
job->status = JOB_ST_RUNNING;
usr.bin/make/job.c
1555
Var_ReexportVars(job->node);
usr.bin/make/job.c
1556
Var_ExportStackTrace(job->node->name, NULL);
usr.bin/make/job.c
1568
meta_job_child(job);
usr.bin/make/job.c
1579
if (dup2(fileno(job->cmdFILE), STDIN_FILENO) == -1)
usr.bin/make/job.c
1586
if (job->node->type & (OP_MAKE | OP_SUBMAKE)) {
usr.bin/make/job.c
1596
if (dup2(job->outPipe, STDOUT_FILENO) == -1)
usr.bin/make/job.c
1630
job->pid = cpid;
usr.bin/make/job.c
1632
Trace_Log(JOBSTART, job);
usr.bin/make/job.c
1636
meta_job_parent(job, cpid);
usr.bin/make/job.c
1639
job->outBufLen = 0;
usr.bin/make/job.c
1641
watchfd(job);
usr.bin/make/job.c
1643
if (job->cmdFILE != NULL && job->cmdFILE != stdout) {
usr.bin/make/job.c
1644
if (fclose(job->cmdFILE) != 0)
usr.bin/make/job.c
1646
job->node->name, strerror(errno));
usr.bin/make/job.c
1647
job->cmdFILE = NULL;
usr.bin/make/job.c
1653
job->node->name, job->pid);
usr.bin/make/job.c
1660
BuildArgv(Job *job, char **argv)
usr.bin/make/job.c
1681
!job->ignerr && shell->errFlag != NULL
usr.bin/make/job.c
1683
job->echo && shell->echoFlag != NULL
usr.bin/make/job.c
1690
if (!job->ignerr && shell->errFlag != NULL) {
usr.bin/make/job.c
1694
if (job->echo && shell->echoFlag != NULL) {
usr.bin/make/job.c
1703
JobWriteShellCommands(Job *job, GNode *gn, bool *out_run)
usr.bin/make/job.c
1710
job->cmdFILE = fdopen(fd, "w+");
usr.bin/make/job.c
1711
if (job->cmdFILE == NULL)
usr.bin/make/job.c
1718
meta_job_start(job, gn);
usr.bin/make/job.c
1720
job->echo = false;
usr.bin/make/job.c
1724
*out_run = JobWriteCommands(job);
usr.bin/make/job.c
1730
Job *job;
usr.bin/make/job.c
1735
for (job = job_table; job < job_table_end; job++) {
usr.bin/make/job.c
1736
if (job->status == JOB_ST_FREE)
usr.bin/make/job.c
1739
if (job >= job_table_end)
usr.bin/make/job.c
1742
memset(job, 0, sizeof *job);
usr.bin/make/job.c
1743
job->node = gn;
usr.bin/make/job.c
1744
job->tailCmds = NULL;
usr.bin/make/job.c
1745
job->status = JOB_ST_SET_UP;
usr.bin/make/job.c
1747
job->special = (gn->type & OP_SPECIAL) != OP_NONE;
usr.bin/make/job.c
1748
job->ignerr = opts.ignoreErrors || gn->type & OP_IGNORE;
usr.bin/make/job.c
1749
job->echo = !(opts.silent || gn->type & OP_SILENT);
usr.bin/make/job.c
1757
job->inPollfd = NULL;
usr.bin/make/job.c
1760
job->cmdFILE = stdout;
usr.bin/make/job.c
1777
JobWriteShellCommands(job, gn, &run);
usr.bin/make/job.c
1780
(void)fflush(job->cmdFILE);
usr.bin/make/job.c
1783
job->cmdFILE = stdout;
usr.bin/make/job.c
1785
JobWriteCommands(job);
usr.bin/make/job.c
1787
(void)fflush(job->cmdFILE);
usr.bin/make/job.c
1789
Job_Touch(gn, job->echo);
usr.bin/make/job.c
1794
if (!job->special)
usr.bin/make/job.c
1797
if (job->cmdFILE != NULL && job->cmdFILE != stdout) {
usr.bin/make/job.c
1798
(void)fclose(job->cmdFILE);
usr.bin/make/job.c
1799
job->cmdFILE = NULL;
usr.bin/make/job.c
1803
JobSaveCommands(job);
usr.bin/make/job.c
1804
job->node->made = MADE;
usr.bin/make/job.c
1805
Make_Update(job->node);
usr.bin/make/job.c
1807
job->status = JOB_ST_FREE;
usr.bin/make/job.c
1811
BuildArgv(job, argv);
usr.bin/make/job.c
1812
JobCreatePipe(job, 3);
usr.bin/make/job.c
1813
JobExec(job, argv);
usr.bin/make/job.c
1825
PrintFilteredOutput(Job *job, size_t len)
usr.bin/make/job.c
1827
const char *p = job->outBuf, *ep, *endp;
usr.bin/make/job.c
1836
SwitchOutputTo(job->node);
usr.bin/make/job.c
1859
CollectOutput(Job *job, bool finish)
usr.bin/make/job.c
1867
nr = (size_t)read(job->inPipe, job->outBuf + job->outBufLen,
usr.bin/make/job.c
1868
JOB_BUFSIZE - job->outBufLen);
usr.bin/make/job.c
1880
if (nr == 0 && job->outBufLen > 0) {
usr.bin/make/job.c
1881
job->outBuf[job->outBufLen] = '\n';
usr.bin/make/job.c
1885
max = job->outBufLen + nr;
usr.bin/make/job.c
1886
job->outBuf[max] = '\0';
usr.bin/make/job.c
1888
for (i = job->outBufLen; i < max; i++)
usr.bin/make/job.c
1889
if (job->outBuf[i] == '\0')
usr.bin/make/job.c
1890
job->outBuf[i] = ' ';
usr.bin/make/job.c
1892
for (i = max; i > job->outBufLen; i--)
usr.bin/make/job.c
1893
if (job->outBuf[i - 1] == '\n')
usr.bin/make/job.c
1896
if (i == job->outBufLen) {
usr.bin/make/job.c
1897
job->outBufLen = max;
usr.bin/make/job.c
1903
p = PrintFilteredOutput(job, i);
usr.bin/make/job.c
1906
SwitchOutputTo(job->node);
usr.bin/make/job.c
1909
meta_job_output(job, p, i < max ? i : max);
usr.bin/make/job.c
1911
(void)fwrite(p, 1, (size_t)(job->outBuf + i - p), stdout);
usr.bin/make/job.c
1914
memmove(job->outBuf, job->outBuf + i, max - i);
usr.bin/make/job.c
1915
job->outBufLen = max - i;
usr.bin/make/job.c
1960
Job *job;
usr.bin/make/job.c
1965
job = JobFindPid(pid, JOB_ST_RUNNING, isJobs);
usr.bin/make/job.c
1966
if (job == NULL) {
usr.bin/make/job.c
1975
job->node->name, job->pid);
usr.bin/make/job.c
1980
job->node->name);
usr.bin/make/job.c
1984
job->node->name);
usr.bin/make/job.c
1988
job->node->name, WSTOPSIG(status));
usr.bin/make/job.c
1990
job->suspended = true;
usr.bin/make/job.c
1996
job->status = JOB_ST_FINISHED;
usr.bin/make/job.c
1997
job->exit_status = status;
usr.bin/make/job.c
1999
job->node->exit_status = WEXITSTATUS(status);
usr.bin/make/job.c
2001
JobFinish(job, status);
usr.bin/make/job.c
2005
Job_Continue(Job *job)
usr.bin/make/job.c
2007
DEBUG1(JOB, "Continuing pid %d\n", job->pid);
usr.bin/make/job.c
2008
if (job->suspended) {
usr.bin/make/job.c
2009
(void)printf("*** [%s] Continued\n", job->node->name);
usr.bin/make/job.c
2011
job->suspended = false;
usr.bin/make/job.c
2013
if (KILLPG(job->pid, SIGCONT) != 0)
usr.bin/make/job.c
2014
DEBUG1(JOB, "Failed to send SIGCONT to pid %d\n", job->pid);
usr.bin/make/job.c
2020
Job *job;
usr.bin/make/job.c
2022
for (job = job_table; job < job_table_end; job++) {
usr.bin/make/job.c
2023
if (job->status == JOB_ST_RUNNING &&
usr.bin/make/job.c
2024
(make_suspended || job->suspended))
usr.bin/make/job.c
2025
Job_Continue(job);
usr.bin/make/job.c
2026
else if (job->status == JOB_ST_FINISHED)
usr.bin/make/job.c
2027
JobFinish(job, job->exit_status);
usr.bin/make/job.c
2036
Job *job;
usr.bin/make/job.c
2068
job = jobByFdIndex[i];
usr.bin/make/job.c
2069
if (job->status == JOB_ST_RUNNING)
usr.bin/make/job.c
2070
CollectOutput(job, false);
usr.bin/make/job.c
2077
if (useMeta && job->inPollfd != &fds[i]) {
usr.bin/make/job.c
2078
if (meta_job_event(job) <= 0)
usr.bin/make/job.c
2451
Job *job;
usr.bin/make/job.c
2458
for (job = job_table; job < job_table_end; job++) {
usr.bin/make/job.c
2459
if (job->status == JOB_ST_RUNNING && job->pid != 0) {
usr.bin/make/job.c
2462
signo, job->pid);
usr.bin/make/job.c
2463
KILLPG(job->pid, signo);
usr.bin/make/job.c
2467
for (job = job_table; job < job_table_end; job++) {
usr.bin/make/job.c
2468
if (job->status == JOB_ST_RUNNING && job->pid != 0) {
usr.bin/make/job.c
2470
(void)waitpid(job->pid, &status, 0);
usr.bin/make/job.c
2471
JobDeleteTarget(job->node);
usr.bin/make/job.c
2529
Job *job;
usr.bin/make/job.c
2535
for (job = job_table; job < job_table_end; job++) {
usr.bin/make/job.c
2536
if (job->status != JOB_ST_RUNNING)
usr.bin/make/job.c
2538
KILLPG(job->pid, SIGINT);
usr.bin/make/job.c
2539
KILLPG(job->pid, SIGKILL);
usr.bin/make/job.c
2548
watchfd(Job *job)
usr.bin/make/job.c
2550
if (job->inPollfd != NULL)
usr.bin/make/job.c
2553
fds[fdsLen].fd = job->inPipe;
usr.bin/make/job.c
2555
jobByFdIndex[fdsLen] = job;
usr.bin/make/job.c
2556
job->inPollfd = &fds[fdsLen];
usr.bin/make/job.c
2560
fds[fdsLen].fd = meta_job_fd(job);
usr.bin/make/job.c
2562
jobByFdIndex[fdsLen] = job;
usr.bin/make/job.c
2569
clearfd(Job *job)
usr.bin/make/job.c
2572
if (job->inPollfd == NULL)
usr.bin/make/job.c
2574
i = (size_t)(job->inPollfd - fds);
usr.bin/make/job.c
2596
job->inPollfd = NULL;
usr.bin/make/job.c
544
Job_FlagsToString(const Job *job, char *buf, size_t bufsize)
usr.bin/make/job.c
547
job->ignerr ? 'i' : '-',
usr.bin/make/job.c
548
!job->echo ? 's' : '-',
usr.bin/make/job.c
549
job->special ? 'S' : '-');
usr.bin/make/job.c
554
Job_BuildMon(Job *job)
usr.bin/make/job.c
556
return &job->bm;
usr.bin/make/job.c
561
Job_Node(Job *job)
usr.bin/make/job.c
563
return job->node;
usr.bin/make/job.c
567
Job_Pid(Job *job)
usr.bin/make/job.c
569
return job->pid;
usr.bin/make/job.c
575
const Job *job;
usr.bin/make/job.c
579
for (job = job_table; job < job_table_end; job++) {
usr.bin/make/job.c
580
Job_FlagsToString(job, flags, sizeof flags);
usr.bin/make/job.c
582
(int)(job - job_table), JobStatus_Name[job->status],
usr.bin/make/job.c
583
flags, job->pid);
usr.bin/make/job.c
644
JobCreatePipe(Job *job, int minfd)
usr.bin/make/job.c
661
job->inPipe = pipe_fds[0];
usr.bin/make/job.c
662
job->outPipe = pipe_fds[1];
usr.bin/make/job.c
664
SetCloseOnExec(job->inPipe);
usr.bin/make/job.c
665
SetCloseOnExec(job->outPipe);
usr.bin/make/job.c
673
SetNonblocking(job->inPipe);
usr.bin/make/job.c
680
Job *job;
usr.bin/make/job.c
684
for (job = job_table; job < job_table_end; job++) {
usr.bin/make/job.c
685
if (job->status != JOB_ST_RUNNING)
usr.bin/make/job.c
688
signo, job->pid);
usr.bin/make/job.c
689
KILLPG(job->pid, signo);
usr.bin/make/job.c
794
Job *job;
usr.bin/make/job.c
796
for (job = job_table; job < job_table_end; job++) {
usr.bin/make/job.c
797
if (job->status == status && job->pid == pid)
usr.bin/make/job.c
798
return job;
usr.bin/make/job.c
920
JobWriteSpecialsEchoCtl(Job *job, ShellWriter *wr, CommandFlags *inout_cmdFlags,
usr.bin/make/job.c
924
job->ignerr = true;
usr.bin/make/job.c
926
if (job->echo && inout_cmdFlags->echo) {
usr.bin/make/job.c
947
JobWriteSpecials(Job *job, ShellWriter *wr, const char *escCmd, bool run,
usr.bin/make/job.c
953
ShellWriter_ErrOff(wr, job->echo && inout_cmdFlags->echo);
usr.bin/make/job.c
955
JobWriteSpecialsEchoCtl(job, wr, inout_cmdFlags, escCmd,
usr.bin/make/meta.c
597
BM(Job *job)
usr.bin/make/meta.c
600
return job != NULL ? Job_BuildMon(job) : &Mybm;
usr.bin/make/meta.c
607
meta_job_start(Job *job, GNode *gn)
usr.bin/make/meta.c
611
pbm = BM(job);
usr.bin/make/meta.c
615
if (job == NULL)
usr.bin/make/meta.c
633
meta_job_child(Job *job MAKE_ATTR_UNUSED)
usr.bin/make/meta.c
638
pbm = BM(job);
usr.bin/make/meta.c
654
meta_job_parent(Job *job MAKE_ATTR_UNUSED, pid_t pid MAKE_ATTR_UNUSED)
usr.bin/make/meta.c
659
pbm = BM(job);
usr.bin/make/meta.c
667
meta_job_fd(Job *job MAKE_ATTR_UNUSED)
usr.bin/make/meta.c
672
pbm = BM(job);
usr.bin/make/meta.c
681
meta_job_event(Job *job MAKE_ATTR_UNUSED)
usr.bin/make/meta.c
686
pbm = BM(job);
usr.bin/make/meta.c
695
meta_job_error(Job *job, GNode *gn, bool ignerr, int status)
usr.bin/make/meta.c
700
pbm = BM(job);
usr.bin/make/meta.c
701
if (job != NULL && gn == NULL)
usr.bin/make/meta.c
702
gn = Job_Node(job);
usr.bin/make/meta.c
716
meta_job_finish(job);
usr.bin/make/meta.c
720
meta_job_output(Job *job, const char *cp, size_t len)
usr.bin/make/meta.c
724
pbm = BM(job);
usr.bin/make/meta.c
781
meta_job_finish(Job *job)
usr.bin/make/meta.c
787
pbm = BM(job);
usr.bin/make/trace.c
104
if (job != NULL) {
usr.bin/make/trace.c
105
GNode *gn = Job_Node(job);
usr.bin/make/trace.c
108
Job_FlagsToString(job, flags, sizeof flags);
usr.bin/make/trace.c
110
gn->name, Job_Pid(job), flags, type);
usr.bin/make/trace.c
84
Trace_Log(TrEvent event, Job *job)
usr.sbin/lpr/lpc/cmds.c
940
doarg(const char *job)
usr.sbin/lpr/lpc/cmds.c
953
if ((cp = strchr(job, ':')) != NULL) {
usr.sbin/lpr/lpc/cmds.c
954
machine = job;
usr.sbin/lpr/lpc/cmds.c
956
job = cp;
usr.sbin/lpr/lpc/cmds.c
963
if (isdigit((unsigned char)*job)) {
usr.sbin/lpr/lpc/cmds.c
966
jobnum = jobnum * 10 + (*job++ - '0');
usr.sbin/lpr/lpc/cmds.c
967
while (isdigit((unsigned char)*job));
usr.sbin/lpr/lpc/cmds.c
974
if (*job && strcmp(job, cp) != 0)
usr.sbin/lpr/lpc/cmds.c
998
if (line[0] != 'P' || strcmp(job, line+1) != 0)
usr.sbin/rpc.pcnfsd/pcnfsd_print.c
646
char *job;
usr.sbin/rpc.pcnfsd/pcnfsd_print.c
667
job = strtok(buff, delims);
usr.sbin/rpc.pcnfsd/pcnfsd_print.c
668
if (!job)
usr.sbin/rpc.pcnfsd/pcnfsd_print.c
693
curr->id = strdup(job);
usr.sbin/rpc.pcnfsd/pcnfsd_print.c
725
char *job;
usr.sbin/rpc.pcnfsd/pcnfsd_print.c
776
job = cp;
usr.sbin/rpc.pcnfsd/pcnfsd_print.c
792
curr->id = strdup(job);