Linux - ¿Quién acaba primero?

 
Vista:

¿Quién acaba primero?

Publicado por James Bond (1 intervención) el 19/05/2008 23:12:12
Buenas noches.

Estoy un poco desesperado con la comunicación de procesos usando llamadas al sistema en C y tengo la siguiente duda:

Dado este código, ¿quién acabaría primero, padre o hijo?. Yo diría que hijo, porque padre está esperando a que hijo le envíe dato a través de la pipe. ¿no sería así?

Muchas gracias de antemano.

int main(....){

int p1[2];
int i;
int n=0;
pipe(p1);
switch(fork())
{
case 0:
close(1);
dup(p1[1]);
write(1, &n, sizeof(int));
break;

default:
close(0);
dup(p1[0]);
}
close(p1[0]); close(p1[1]); // *
read(0, &i, sizeof(int));
printf(He recibido un %d", i);

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Quién acaba primero?

Publicado por Tom (482 intervenciones) el 20/05/2008 12:02:40
Yo diría, así a ojo, que los dos procesos se quedan esperando por la lectura del pipe.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar