<table cellspacing='0' cellpadding='0' border='0' ><tr><td valign='top' style='font: inherit;'>ok...<br>tot nu merge cum trebuie tema asta.<br>la mine pe sistem arareori pica testul 7.<br>Pe site pica testul 4 si testul 7 uneori.<br>In masina virtuala pica doar testul 7 uneori...cert e ca e ceva in neregula cu tema.<br>Am facut o multime de teste cu valgrindul si o sa mai fac.<br>Nu am leak-uri. Toti copiii se intorc cu codul 0. <br>Daca rulez testul 7 de mana merge fara probleme. Orice rulez de mana merge fff bine.<br>Am explicat in mare cum am gandit eu implementarea.<br><br>Daca mai aveti vreun sfat...am mare nevoie de ajutor...de la toata lumea:colegi,asistenti si profesori.<br><br>Mersi mult.<br>Alex g.<br><br>--- On <b>Fri, 7/18/08, Alex <i><alexeurope2002@yahoo.com></i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;">From: Alex <alexeurope2002@yahoo.com><br>Subject: Re:
[so] [Tema1][Linux] Problema la pipe<br>To: "Sisteme de Operare" <so@cursuri.cs.pub.ro><br>Date: Friday, July 18, 2008, 12:06 PM<br><br><div id="yiv386822604"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit;" valign="top"><br>My fault...like usually. :D<br>In testarea mea...am inversat la un mom
dat ordinea in care execut comenzile. Apoi am reparat ce era
gresit...dar am uitat sa apelez comenzile in ordinea normala. Acum
merge.Slava Domnului.<br><br>Alex.<br>--- On <b>Fri, 7/18/08, Mircea Gherzan <i><mgherzan@anaconda.cs.pub.ro></i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;">From: Mircea Gherzan <mgherzan@anaconda.cs.pub.ro><br>Subject: Re: [so] [Tema1][Linux] Problema la pipe<br>To: so@cursuri.cs.pub.ro<br>Date: Friday, July 18, 2008, 1:19 AM<br><br><pre>Alex wrote:<br>> Dupa ce l-am zapacit prima data am zis ca reiau si am gandit altfel<br>> programul,am facut si un prg de test de 50 linii de cod si<br>> mergea...dar in tema acceasi idee nu merge. Iata cum am gandit: Cand<br>> intalnesc primul operator pipe creez recursiv pentru toate<br>> subnodurile lui care nu sunt comenzi simple cate 2 file descriptori<br>> in aux(din structura arborelui). Apoi dau drumu la executia<br>> proceselor in ordine. Dupa executia comenzilor din primul op pipe<br>> distrug adica dau<br>
free la toti file descriptorii alocati (ii inchid<br>> inainte),fac waitpid(-1,&status,0) pt a astepta toti copiii. In copil<br>> tin cont si fac toate legaturile necesare intre procese__ inainte de<br>> exec (le-am printat...sunt ok...zic eu :D ).Dupa ce fac legaturile<br>> inchid in copil toate celelalte pipe-uri(s-au copiat din parinte unde<br>> erau deschise deja).<br><br>Pentru o comanda precum cmd1 | cmd2 | cmdN , cele N procese trebuie<br>executate in paralel, si nu "in ordine". Capacitate unui pipe este<br>evident finita (64K), iar eventuale apeluri ar putea write() pot bloca<br>pana la preluarea de octeti.<br><br><br>-- <br>Mircea Gherzan<br>Faculty of Automatic Control and Computers<br>Politehnica University of Bucharest<br>_______________________________________________<br>so mailing list<br>so@cursuri.cs.pub.ro<br>http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so</pre></blockquote></td></tr></tbody></table><br>
</div><pre>_______________________________________________<br>so mailing list<br>so@cursuri.cs.pub.ro<br>http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so</pre></blockquote></td></tr></table><br>