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
