Ya lo has resuelto?, has probado con Buffer's?
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: ddk en 10 Mayo 2010, 20:57 PMAgradecería fuentes, o razones.
Swing no está abandonado y es eficiente.
pipe(primera_pipe);
write(primera_pipe[1], &ini, sizeof(int));
mipipe[0] = primera_pipe[0];
mipid = getpid();
while(num--) {
pipe(pipe_hijo);
if(pid = fork()) {
mipipe[0] = pipe_hijo[0];
mipid = pid;
} else {
mipipe[1] = pipe_hijo[1];
while(1) {
read(mipipe[0], &ini, sizeof(int));
printf("Leido %d en el proceso %d\n", ini, mipid);
ini++;
write(mipipe[1], &ini, sizeof(int));
}
}
}
mipipe[1] = primera_pipe[1];
while(1) {
read(mipipe[0], &ini, sizeof(int));
printf("Leido %d en el proceso %d\n", ini, mipid);
ini++;
write(mipipe[1], &ini, sizeof(int));
}
int main() {
while(num--) { //num = numero de procesos
pipe(mipipe);
if(pid = fork()) { //hijo
read(mipipe[0], &ini, sizeof(int)); //leemos del pipe del padre
printf("Leido %d\n", ini);
ini++; //procesamos
}
else { //padre
write(mipipe[1], &ini, sizeof(int)); //escribimos en el pipe del hijo
break; //acabamos la iteración
}
}
}
Cita de: Xafirot en 10 Mayo 2010, 11:34 AM+1
Baneen a este tio.