/* Code covered under 3-Clause BSD License - see LICENSE file for details */ #include #include #include #include "conf.h" int main(argc, argv) int argc; char *argv[]; { register int i, iter; int msgsize; char buf[MAXBUF]; int fd[2]; 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(fork() == 0) for (i = 0; i < iter; i++) read(fd[0], buf, msgsize); else for (i = 0; i < iter; i++) write(fd[1], buf, msgsize); return 0; }