He encontrado una solución, crear un array dinámico de pipe, pero me da algún fallito, y lo he probado de estas dos formas:
arrayPipe
= malloc(sizeof(int *) * N
);for(i=0;i<N;i++){
arrayPipe
[i
] = malloc(sizeof(int) * 2); //Dos posiciones fijas}
Este me da un error al crear el pipe():
Error al crear el pipe
: SuccessY acaba.
arrayPipe
= malloc(N
* sizeof *arrayPipe
);for(i=0;i<N;i++){
arrayPipe
[i
] = malloc(2 * sizeof *arrayPipe
[i
]); //Error aqui}
Este me da un error de fallo de segmentación desde el principio, sin llegar a ejecutar la instrucción de malloc.
El pipe me lo creo así (dentro del bucle for) en ambos casos:
valor=pipe(arrayPipe[i]);
Haber si me podéis ayudar, gracias!