[so] De ce TLS ? - continuare:)

Stela Suciu so@atlantis.cs.pub.ro
Wed, 26 Nov 2003 08:15:21 -0800 (PST)


>  
> > 3. Monitorul se poate distruge doar atunci cand nu
> > exista fir activ in el si nu exista nici un fir
> care
> > este blocat intr-o coada de asteptare sau la vreo
> > variablia de conditie ? 
> 
> Da, asta ar trebui sa faca destroy. Ar mai trebui sa
> va scrieti o functie de distrugere fortata,
> _destroy,
> pe care s-o apelati de exemplu la oprirea fortata a
> programului (Ctrl+C) pentru ca altfel nu se pot
> debloca firele care asteptau la conditii.
> 
> Cosmin
> 
> 
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
> __________________________________
> Do you Yahoo!?
> Protect your identity with Yahoo! Mail AddressGuard
> http://antispam.yahoo.com/whatsnewfree
> _______________________________________________
> so mailing list
> so@atlantis.cs.pub.ro
>
http://atlantis.cs.pub.ro/cgi-bin/mailman/listinfo/so


__________________________________
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/