[so] [tema2]Problema testul 9 windows

Daniela Vatamanu daniela.vatamanu at gmail.com
Wed Apr 13 13:42:32 EEST 2011


Pai am folosit functia pe coada serverului, handle-ul dat ca parametru
este returnat de CreateMailslot. Chiar daca am pus CreateFile in caz
de esueaza CreateMailslot, am observat ca nu ajunge niciodata in acest
caz. Dar, in documentatie se specifica, de asemenea, ca in momentul in
care nu este niciun mesaj in coada, lpNextSize va avea valoarea
MAILSLOT_NO_MESSAGE, nu este o functie blocanta. Deci cand o sa incerc
sa iau mesaje din coada o sa incerc sa iau un DWORD-1 ... nu prea ma
ajuta, decat daca GetMailslotInfo are si o varianta blocanta, care
sa-mi returneze lpNextSize abia dupa ce ajunge un mesaj in coada
respectiva.

2011/4/13 VLAD TUDOSE <vlad_tudose at yahoo.com>:
> In documentatie[1] se specifica ca functia GetMailSlotInfo primeste ca parametru un handle returnat de CreateMailslot, iti va da "Invalid Handler" daca incerci sa ii paseszi un handle returnat de CreateFile.
> Probabil din cauza asta nu ti-a functionat.
>
> [1] - http://msdn.microsoft.com/en-us/library/aa365435%28v=vs.85%29.aspx
>
> --- On Wed, 13/4/11, Daniela Vatamanu <daniela.vatamanu at gmail.com> wrote:
>
>> From: Daniela Vatamanu <daniela.vatamanu at gmail.com>
>> Subject: Re: [so] [tema2]Problema testul 9 windows
>> To: "Sisteme de Operare" <so at cursuri.cs.pub.ro>
>> Date: Wednesday, 13 April, 2011, 12:46 PM
>> Da, de acord, am incercat si
>> GetMailslotInfo, problema cu functia asta
>> a fost ca imi crapau serverele, pe rand, fara sa apuc sa
>> pornesc
>> gatewayul sau clientul, in incercarea de a primi mesaje.
>>
>> 2011/4/13 Drutu Bogdan <bogdandrutu at gmail.com>:
>> > 2011/4/11 Alexandra Sava <alexandrasava18 at gmail.com>:
>> >> 2011/4/10 Daniela Vatamanu <daniela.vatamanu at gmail.com>:
>> >>> Salut,
>> >>>
>> >>> Am urmatorul mesaj de eroare pe vmchecker la
>> testul 9:
>> >>>
>> >>> Running test 9
>> >>> ReadFile: No error
>> >>> Code:998
>> >>> (crypto.c, 60): (win_queue.c, msgq_send, 90):
>> WriteFile: Reached the end of the
>> >>> file.
>> >>> (win_queue.c, msgq_send, 90): WriteFile:
>> Reached the end of the file.
>> >>>
>> >>> Pe toate celelalte teste ruleaza bine, mai
>> putin aici. Mentionez ca am avut
>> >>> problema cu numarul de bytes din receive si am
>> rezolvat-o cu sizeof(Command) +
>> >>> 1; in send trimit sizeof(Command). De
>> asemenea, in cazul in care crearea unei
>> >>> cozi esueaza folosesc apelul msgq_get din
>> laborator.
>> >>
>> >> Merci pt chestia cu sizeof(Command) + 1 (pe lin
>> mersese lejer, fara)!
>> >> Chiar abandonasem tema ca nu reusam sa citesc din
>> coada.
>> > Normal exista o solutie foarte simpla, aceea de a cere
>> informatie
>> > cozii de mesaje despre ce mesaje are in coada, si
>> astfel din acea
>> > structura poti obtine si lungimea mesajului. Nu
>> trebuie sa umblii cu
>> > hardcodari de acest fel.
>> >
>> >>
>> >>
>> >> Alexandra
>> >> _______________________________________________
>> >> http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
>> >>
>> >
>> >
>> >
>> > --
>> > Bogdan.
>> > _______________________________________________
>> > http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
>> >
>> _______________________________________________
>> 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