|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T f
Length: 742 (0x2e6)
Types: TextFile
Names: »forkes.c«
└─⟦db229ac7e⟧ Bits:30007240 EUUGD20: SSBA 1.2 / AFW Benchmarks
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21E/bsd/forkes.c«
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21F/bsd/forkes.c«
main(argc, argv)
char *argv[];
{
register int nforks, i;
char *cp;
int pid,child,status,brksize;
if (argc < 2){
printf("usage : %s number-of-forks sbrk-size \n", argv[0]);
exit(1);
}
nforks = atoi(argv[1]);
if (nforks < 0 ){
printf("%s: bad number of forks \n", argv[1]);
exit(2);
}
brksize = atoi(argv[2]);
if (brksize < 0 ){
printf("%s: bad size to sbrk \n", argv[2]);
exit(3);
}
cp = (char *) sbrk(brksize);
if((int)cp == -1){
perror("sbrk");
exit(4);
}
for (i = 0; i < brksize; i += 1024)
cp[i] = i;
while (nforks-- > 0){
child = fork();
if (child == -1){
perror("fork");
exit(-1);
}
if (child == 0)
exit(-1);
while((pid = wait(&status)) != -1 && pid != child)
;
}
exit(0);
}