[so] [Tema 5] Problema aio read si write

Daniel Baluta daniel.baluta at gmail.com
Fri Aug 20 13:04:59 EEST 2010


Încearcă să creezi fişierele în /tmp (e.g /tmp/file1.txt, /tmp/file2.txt).

Daniel.

2010/8/19 Silvia Stegaru <stegaru.silvia at yahoo.com>
>
> Fisierele de citit sunt deschise cu flag-urile "O_RDONLY | O_DIRECT | O_NONBLOCK", iar cele in care fac scrierea sunt deschise cu "O_WRONLY | O_DIRECT | O_CREAT | O_NONBLOCK, 0666". Verific codurile de eroare pentru toate functiile, problema e ca nu am nicio eroare :| Aloc si initializez iocb si piocb, apelez io_setup si verific valoarea returnata (!= 0 => eroare, stop), apelez io_submit si verific valoarea returnata (daca <0 => eroare, stop), wait_aio. Dupa wait_aio insa daca verific de exemplu buffer-ul iocb[0].aio_buf acesta este gol. Analog la scriere, primesc notificare ca a terminat de scris, dar cand verific fisierul acesta nu contine modificarile cerute... Ma gandesc ca daca as fi completat vreun camp gresit mi-ar fi aparut erori sau macar warning-uri la make, insa aparent nu am probleme la compilare. Nici la executie nu apar erori, programul continua executia ca si cum totul s-a desfasurat bine. Imi merge doar partea de listare a fisierelor (care nu e legata de aio, ci doar de eventfd in cazul meu). Probabil am omis ceva, dar nu imi dau seama ce... :-<
>
> Any suggestions?
>
> --
> Stegaru Silvia Cristina
>
> --- On Tue, 8/17/10, Laurențiu Dascălu <dascalu.laurentziu at gmail.com> wrote:
>
> From: Laurențiu Dascălu <dascalu.laurentziu at gmail.com>
> Subject: Re: [so] [Tema 5] Problema aio read si write
> To: "Sisteme de Operare" <so at cursuri.cs.pub.ro>
> Date: Tuesday, August 17, 2010, 10:53 PM
>
> On 17.08.2010 09:03, Silvia Stegaru wrote:
> >   Salut!
> >
> >
> >
> > Am si eu o problema cu tema 5... Aplicatia nu imi intoarce nicio eroare,
> >   insa citirea si scrierea in / din fisier nu merg. Am urmarit
> > laboratorul si am folosit aio cu eventfd; eventfd-ul merge, imi merge si
> >   listarea; clientul este notificat la incheierea unei
> >   operatii, insa nu se citeste nimic (bufferul iocb[i].aio_buf ramane vid
> >   la citire) si nu scrie nimic in fisier (desi structura iocb e completa
> > si corect completata, inclusiv bufferul). Laboratorul imi merge.... Insa
> >   cand incerc sa compar codul cu ce s-a facut
> >   la lab totul pare ok, nu am omis pasi.
> >
> >
> >
> > Are cineva vreo idee de ce se intampla asta?
>
> Din descrierea ta nu prea-mi dau seama care este problema. Spune-mi cum
> ai deschis fișierele pentru citire/scriere? Ai verificat codurile de
> eroare întoarse de funcție? Vezi dacă-ți pică vreo funcție pe parcurs.
>
> Varianta consumatoare de timp e să încerci să scrii aceleași date cu
> codul tău și cu codul din laborator, și să compari rezultatele întoarse
> de funcții. Vezi care diferă și vezi de ce.
>
> --
> Laurențiu Dascălu
>
> _______________________________________________
> http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
>
> _______________________________________________
> http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii


More information about the so mailing list