Nu ai modificat cum trebuie. Eu am zis "cmd /C" (nu \C, argumentele
toolurilor de windows se dau cu /) și să pui parametrul între
ghilimele (nu apostroafe).

De asemenea, modul în care faci wait după process pare suspect.
WaitForSingleObject se face pe un HANDLE, mai exact hProcess din
structura PROCESS_INFORMATION.

On Mon, 25 Mar 2019 at 22:10, Rares Folea <[email protected]> wrote:
>
> In primul rand, multumesc pentru raspuns!
>
> Am efectuat modificarile, dar acum intampin o problema referitoare la 
> terminarea procesului copil in cazul POPEN cu argumentul “r”, iar in cazul 
> type = “w”, se obtin date incorecte in fisier. Am epuizat toate metodele 
> cunoscute de debugging.
>
> In cazul POPEN “r”, in terminal mai apare (uneori) mesajul "The process tried 
> to write to a nonexistent pipe.”
>
>
>
> Multumesc pentru ajutor!
>
>
>
> > On 25 Mar 2019, at 20:30, Adrian Șendroiu <[email protected]> wrote:
> >
> > On Mon, 25 Mar 2019 at 16:55, Rares Folea via so <[email protected]> 
> > wrote:
> >>
> >> Buna ziua!
> >>
> >> Ma confrunt cu urmatoarea problema:
> >> Apelul fread pe un fisier deschis cu POPEN nu reuseste sa citeasca 
> >> niciodata.
> >>
> >> In implementare, am creat pipe-ul, am marcat handlerul de citire din 
> >> pipe(hRead) nemostenibil, am setat bInheritHandle = TRUE,
> >> am creat procesul nou si am inchis in procesul parinte handlerul de 
> >> scriere(hWrite). In acest moment, apelurile Fread din checker
> >> nu reusesc sa citeasca.
> >>
> >> De asemenea, FWRITE desi pare sa execute syscall-urile necesare, nu 
> >> produce outputul bun.
> >>
> >> Implementarea se regaseste pe gitlab, in directorul 
> >> /l3-so-assignments/2-stdio/util/win.
> >>
> >>
> >>
> >> Multumesc frumos!
> >
> > Salut,
> >
> > La prima vedere par să fie mai multe greșeli:
> > - pe windows popen trebuie să execute cmd /C, nu sh -c. De asemenea,
> > argumentul lui cmd /C trebuie pus între ghilimele
> > - al doilea parametru al lui SetHandleInformation trebuie să fie
> > HANDLE_FLAG_INHERIT, nu 0.
>
_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Raspunde prin e-mail lui