Lines Matching refs:comm_pipes

74 struct comm_pipes {
79 static int setup_comm_pipes(struct comm_pipes *comm_pipes)
81 if (pipe(comm_pipes->child_ready) < 0)
83 if (pipe(comm_pipes->parent_ready) < 0) {
84 close(comm_pipes->child_ready[0]);
85 close(comm_pipes->child_ready[1]);
92 static void close_comm_pipes(struct comm_pipes *comm_pipes)
94 close(comm_pipes->child_ready[0]);
95 close(comm_pipes->child_ready[1]);
96 close(comm_pipes->parent_ready[0]);
97 close(comm_pipes->parent_ready[1]);
101 struct comm_pipes *comm_pipes)
110 write(comm_pipes->child_ready[1], "0", 1);
111 while (read(comm_pipes->parent_ready[0], &buf, 1) != 1)
119 struct comm_pipes *comm_pipes)
151 write(comm_pipes->child_ready[1], "0", 1);
152 while (read(comm_pipes->parent_ready[0], &buf, 1) != 1)
165 typedef int (*child_fn)(char *mem, size_t size, struct comm_pipes *comm_pipes);
170 struct comm_pipes comm_pipes;
174 ret = setup_comm_pipes(&comm_pipes);
185 exit(fn(mem, size, &comm_pipes));
188 while (read(comm_pipes.child_ready[0], &buf, 1) != 1)
200 write(comm_pipes.parent_ready[1], "0", 1);
208 write(comm_pipes.parent_ready[1], "0", 1);
218 close_comm_pipes(&comm_pipes);
249 struct comm_pipes comm_pipes;
259 ret = setup_comm_pipes(&comm_pipes);
283 write(comm_pipes.child_ready[1], "0", 1);
284 while (read(comm_pipes.parent_ready[0], &buf, 1) != 1)
300 while (read(comm_pipes.child_ready[0], &buf, 1) != 1)
306 write(comm_pipes.parent_ready[1], "0", 1);
330 close_comm_pipes(&comm_pipes);
349 struct comm_pipes comm_pipes;
359 ret = setup_comm_pipes(&comm_pipes);
411 write(comm_pipes.child_ready[1], "0", 1);
412 while (read(comm_pipes.parent_ready[0], &buf, 1) != 1)
417 while (read(comm_pipes.child_ready[0], &buf, 1) != 1)
483 write(comm_pipes.parent_ready[1], "0", 1);
495 close_comm_pipes(&comm_pipes);
521 struct comm_pipes comm_pipes;
537 ret = setup_comm_pipes(&comm_pipes);
557 write(comm_pipes.child_ready[1], "0", 1);
558 while (read(comm_pipes.parent_ready[0], &buf, 1) != 1)
564 while (read(comm_pipes.child_ready[0], &buf, 1) != 1)
573 write(comm_pipes.parent_ready[1], "0", 1);
633 write(comm_pipes.parent_ready[1], "0", 1);
642 close_comm_pipes(&comm_pipes);
1138 struct comm_pipes comm_pipes;
1142 ret = setup_comm_pipes(&comm_pipes);
1204 exit(child_memcmp_fn(mem, size, &comm_pipes));
1207 exit(child_memcmp_fn(mem, size / 2, &comm_pipes));
1211 &comm_pipes));
1218 while (read(comm_pipes.child_ready[0], &buf, 1) != 1)
1233 write(comm_pipes.parent_ready[1], "0", 1);
1244 write(comm_pipes.parent_ready[1], "0", 1);
1255 write(comm_pipes.parent_ready[1], "0", 1);
1265 close_comm_pipes(&comm_pipes);