[so] [tema 3] problema cu TSD
Cosmin Arad
so@cursuri.cs.pub.ro
Wed, 1 Dec 2004 00:58:29 +0200
> In legatura cu initializarea indexului TSD la o valoare nenula, am
> intalnit o problema. Din ce am inteles eu, pthread_setspecific() modifica
> indexul doar pentru threadul curent. Deci, daca apelam
> pthread_setspecific()
> in constructorul librariei se va modifica indexul doar pentru threadul
> principal iar in celelalte threaduri pthread_getspecific() va intoarce tot
> NULL.
Greseala mea. Eram cu mintea la DLLuri cand am scris in enunt sa initializati
indexul in constructor. Pentru un DLL constructorul (entry pointul) se apeleaza
si la crearea unui nou thread.
Asadar, folositi NULL pentru a semnifica ca firul e in afara monitorului.
Cosmin