|
|
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 p
Length: 691 (0x2b3)
Types: TextFile
Names: »pipeback.c«
└─⟦db229ac7e⟧ Bits:30007240 EUUGD20: SSBA 1.2 / AFW Benchmarks
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21E/bsd/pipeback.c«
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21F/bsd/pipeback.c«
main(argc,argv)
char *argv[];
{
char buf[512];
int fd[2], fd2[2], msgsize;
register int i, iter;
if (argc < 3){
printf("usage: %s iterations message-size\n",argv[0]);
exit(1);
}
argc--,argv++;
iter = atoi(*argv);
argc--, argv++;
msgsize = atoi(*argv);
if (msgsize > sizeof(buf) || msgsize <= 0){
printf("%s: Bad message size.\n", *argv);
exit(2);
}
if (pipe(fd) < 0) {
perror("pipe");
exit(3);
}
if (pipe(fd2) < 0) {
perror("pipe");
exit(3);
}
if (fork() == 0)
for (i=0; i < iter; i++){
read(fd[0], buf, msgsize);
write(fd2[1], buf, msgsize);
}
else
for (i=0; i < iter; i++){
write(fd[1], buf, msgsize);
read(fd2[0], buf, msgsize);
}
}