Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <errno.h>
- #include <sys/wait.h>
- struct Estructura {
- int num;
- char letra;
- }prueba;
- int main () {
- struct Estructura es, l1, l2;
- es.num=10;
- es.letra='a';
- int status;
- pid_t pM, pR;
- int tuberia[2];
- pipe(tuberia);
- if ( (pM=fork() == 0 )) { // Si nos encontramos en Proceso M
- close(tuberia[0]);
- write(tuberia[1], &es, sizeof(struct Estructura));
- }
- else if (pM>0) {
- if (( pR=fork() == 0 )) {
- close(tuberia[0]);
- write(tuberia[1], &es, sizeof(struct Estructura));
- }
- if (pR>0) {
- wait(&status);
- close(tuberia[1]);
- read(tuberia[0], &l1, sizeof(struct Estructura));
- printf("%d\n%c", l1.num, l1.letra);
- read(tuberia[0], &l2, sizeof(struct Estructura));
- printf("%d\n%c", l2.num, l2.letra);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement