[so] De ce TLS ? - continuare:)

Cosmin Arad so@atlantis.cs.pub.ro
Wed, 26 Nov 2003 08:22:07 -0800 (PST)


--- Stela Suciu <stelasuciu@yahoo.com> wrote:
> E corect daca in functia destroy:
>  - astept ca toate firele din cozile waiting,
> signaller si entry sa plece sau sa se blocheze la
> variabile conditie
>  - setez un flag de destroy (de ex un semafor) apoi
> deblochez toate firele de la variabilele conditie;
> ele
> citesc flag-ul inainte de a ajunge in waiting, iar
> daca este setat pe destroy fac pthread_exit() ?
>  - astept sa primesc o notificare ca toate firele au
> facut pthread_exit
>  - apoi pot distruge toate elementele de
> sincronizare

Functia destroy ar trebui sa verifice daca monitorul
este liber (nu este ocupat si nu sunt fire blocate la
conditii). Daca e liber sa-l distruga, daca nu sa
intoarca un cod de eroare.

Functia _destroy ar trebui sa distruga monitorul
fortat si sa fie apelata doar in cazuri extreme cum
este cel de terminare fortata a aplciatiei.

Cosmin

__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree