[so] [Tema1] problema pipe-uri
Razvan Deaconescu
razvan.deaconescu at cs.pub.ro
Sun May 3 23:54:27 EEST 2009
On Sun, 2009-05-03 at 23:34 +0300, Ionut Daneasa wrote:
> asta patesc la un test simplu. M-am mai uitat si cred ca este din
> cauza ca citesc din pipe dupa ce a fost inchis (erau in laborator
> niste exceptii care pot aparea).
>
> Din cauza asta imi pica testul 13 (restul le trece fara probleme)
>
> Faza cu null-ul am zis-o pentru ca in main am un loop infinit din care
> ies daca fgets(...,stdin)==null, iar mie imi intra pe bucla asta de
> iesire. Ma mai gandesc sa nu fie din cauza ca am duplicat descriptorul
> Stdin din pipe si
> sa ajunga cumva eronat EOF-ul si in stdin.
Pai main-ul nu ar trebui sa aiba stdin-ul busit din cauza asta. Ai creat
doua proces copil in cazul unui pipe?
Adica, in cazul comenzii "ls | cat", procesul parinte creeaza doua
procese fiu: unul va face exec(ls), altul exec(cat) dupa ce, in
prealabil, au duplicat descriptorii necesari pentru a comunica prin
pipe.
Razvan
More information about the so
mailing list