// consumer #include #include #include FILE *i_init(char *fname, int m = 0); int i_send(FILE *fp, char *buf); int i_rcv(FILE *fp, char *buf); main() { int i, stat; char buf[100], rbuf[100]; FILE *fp = i_init("b.ipc"); for (i = 1; i < 20; i++) { stat = i_rcv(fp, rbuf); fprintf(stderr, " cons got '%s'\n", rbuf); if (stat == -1) { printf("cons rcv error %d\n", i); exit(1); } if (strncmp(rbuf, "done", 4) == 0) exit(0); sprintf(buf, "msg %d rcvd: '%s'", i, rbuf); fprintf(stderr, " cons sending '%s'\n", buf); stat = i_send(fp, buf); if (stat == -1) { printf("cons send error %d\n", i); exit(1); } } }