Salutare,<br><br>Am si eu o mica problema cu pipe-urile pe Windows si nu reusesc sa-mi dau seama ce are. Ei bine, ideea e ca pana acum totul ne merge bine, mai putin cazul in care avem mai mult de 2 pipe-uri inlantuite. Daca avem: &#39;echo ana | nl&#39; totul e ok. In schimb daca avem &#39;echo ana | cat | nl&#39;, operatia o face cu succes, dar nu se termina. Procesul lui echo se inchide, in schimb celelalte 2 nu. Deci probabil ele inca mai asteapta ceva pe Pipe-uri, desi eu zic ca le-am inchis cum trebuie (Altfel nu se termina nici pentru 2 pipe-uri).<br>


<br>Ideea e ca noi am folosit threaduri. Cand dam peste o comanda paralela, sunt create doua threaduri, fiecare ocupandu-se de o jumate de arbore. In fiecare moment fiecare thread (inclusiv cel principal) stie ce handle-uri are pentru in/out/err. Initial acestea sunt stdin/out/err, dar atunci cand creez un pipe, ii comunic thrreadului ca , de exemplu, out-ul lui e handle-ul cutare. Threadul, dupa ce va crea procesul ce executa comanda, daca stie ca un cap e pipe, il inchide. <br>


<br>Din codul de debug pe care il am se vede ca pe procesul parinte (cu threaduri cu tot) se inchid toate cele 4 capete ale celor 2 pipe-uri create (in cazul exemplului de mai sus), dar tot nu se inchid procesele spawn-uite. <br>


<br>Conteaza ordinea in care sunt inchise pipe-urile (atat timp cat sunt inchise de thread dupe ce creaza procesul comenzii si inainte sa il astepte)?<br>Exista vreun flag necesar pentru a trimite pe pipe EOF cand se inchide Handle-ul? <br>


<br>Thanks a lot,<br>Cosmin<br><br>