[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