[so2] [tema5] adaugare in lista/hash din procese diferite

Andrei Epure epure.andrei at gmail.com
Sun May 26 01:16:02 EEST 2013


> Când vreau să adaug socket-ul într-o listă/hash, când fac 2 adăugări
> succesiv (testul 14 - test_two_binds), se comportă normal.
>
> În momentul când fac 2 adăugări din procese diferite, (testul 25 -
> test_sendto_recvfrom), se pierde ce am adăugat inițial, nu se vede din al
> doilea proces.
>
>
Pentru generațiile viitoare, să nu fie proaste ca mine: problema nu era de
la hash. Problema era că eu aveam doar "return 0" în recvmsg, funcția nu se
bloca și se făcea release pe acel socket prematur, implicit era scos din
hash.

Soluția: skb_recv_datagram() e blocant. Hash-ul rămâne populat.

Scuze de zgomot.

Andrei

-- 
Andrei Epure
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so2/attachments/20130526/fd44543f/attachment.html>


More information about the so2 mailing list