Lines Matching refs:workers
109 } workers[WORKERS+1]; variable
150 workers[i].tblock = (char (*)[TP_BSIZE]) in alloctape()
152 workers[i].req = (struct req *)workers[i].tblock - ntrec - 1; in alloctape()
154 wp = &workers[0]; in alloctape()
244 if (++wp >= &workers[WORKERS]) in flushtape()
245 wp = &workers[0]; in flushtape()
265 if (workers[i].sent) { in flushtape()
266 if (atomic_read(workers[i].fd, in flushtape()
272 workers[i].sent = 0; in flushtape()
323 if (workers[f].sent) { in trewind()
324 if (atomic_read(workers[f].fd, (void *)&got, sizeof got) in trewind()
329 workers[f].sent = 0; in trewind()
336 (void) close(workers[f].fd); in trewind()
402 twp = &workers[WORKERS]; in rollforward()
453 if (++wp >= &workers[WORKERS]) in rollforward()
454 wp = &workers[0]; in rollforward()
713 if (i == wp - &workers[0]) { in create_workers()
720 (workers[i].pid = fork()) < 0) in create_workers()
724 workers[i].fd = cmd[1]; in create_workers()
725 workers[i].sent = 0; in create_workers()
726 if (workers[i].pid == 0) { /* Worker starts up here */ in create_workers()
728 (void) close(workers[j].fd); in create_workers()
736 (void) atomic_write(workers[i].fd, in create_workers()
737 (const void *) &workers[(i + 1) % WORKERS].pid, in create_workers()
738 sizeof workers[0].pid); in create_workers()
749 if (workers[i].pid > 0) { in killall()
750 (void) kill(workers[i].pid, SIGKILL); in killall()
751 workers[i].sent = 0; in killall()