Salut.<br><br>Aceea _nu_ este o eroare. Apelul de scriere/citire iti spune ca nu s-a terminat<br>_imediat_. Trebuie sa ii astepti terminarea. Daca un apel de scriere/citire iti intoarce<br>TRUE, atunci s-a efectuat pe loc. Asta se poate intampla pentru scrieri/citiri foarte scurte<br>
si atunci nu mai trebuie sa faci nicio asteptare, completion ports, etc. Poti sa treci<br>direct peste. In cazul in care iti intoarce 997 (cred ca asta e eroarea), atunci intri in<br>asteptare pe IOCP, ca la laborator, cu GetQueuedCompletionStatus(). <br>
<br>Poti primi 997 si pentru socketi. Se aplica acelasi algoritm. In general, nu ai ce cauta<br>cu mecanisme de sincronizare externe la aceasta tema. WSAOVERLAPPED si<br>OVERLAPPED sunt suficiente.<br><br>Sper ca asta era problema.<br>
Numai bine,<br>Dani<br><br><div class="gmail_quote">2009/6/2 Razvan Deaconescu <span dir="ltr">&lt;<a href="mailto:razvan.deaconescu@cs.pub.ro">razvan.deaconescu@cs.pub.ro</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Tue, 2009-06-02 at 20:04 +0300, Koliva wrote:<br>
&gt; Am o problema destul de serioasa cu IOCP. Apelurile de scriere/citire<br>
&gt; asincrone dau din cand in cand eroarea asta:<br>
&gt; &quot;Overlapped I/O operation is in progress.&quot;<br>
&gt; Am incercat sa protejez toate operatiile care au legatura cu IOCP cu<br>
&gt; un mutex (inclusiv CreateIoCompletionPort() si<br>
&gt; GetQueuedCompletionStatus()), dar rezultatul e tot acelasi.<br>
&gt;<br>
&gt; Cum as putea sa rezolv problema fara busy waiting?<br>
<br>
</div>Din cunostintele mele, nu ajuta folosirea unui mutex. Eroarea ti-o da la<br>
scrisul/cititul pe socket sau pe fisier? Poti sa ne oferi mai multe<br>
detalii despre contextul de aparitie a erorii? Google nu e prea friendly<br>
in ceea ce priveste sursele aparitiei acestei erori si o descriere mai<br>
detaliata este de ajutor.<br>
<br>
Razvan<br>
<font color="#888888"><br>
<br>
--<br>
This message has been scanned for viruses and<br>
dangerous content by MailScanner, and is<br>
believed to be clean.<br>
</font><div><div></div><div class="h5"><br>
_______________________________________________<br>
so mailing list<br>
<a href="mailto:so@cursuri.cs.pub.ro">so@cursuri.cs.pub.ro</a><br>
<a href="http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so" target="_blank">http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so</a><br>
</div></div></blockquote></div><br>