Bonjour,
j'ai un problème sous Linux, car j'utilise un système de plugins qui sont chargés et dechargés sur demande. J'utilise aussi pthread comme bibliothèque pour le multithread
Or lorsque j'execute mon code, le programme crashe a la fermeture (vraiment tout a la fin, longtemps après main) parce que lorsque le thread se finit (il est attendu avec pthread_join), le plugin a été dechargé. Pthread essaye alors de libérer les données TLS et crashe comme un malpropre parce que le code a été dechargé.
La bibliothèque qui crashe est en fait openGL (la version nvidia non libre) mais ca peut se reproduire avec d'autres bibliothèques, pour peu qu'elles soient dechargées avant la fin du thread et qu'elles aient des données TLS.
D'ou ma question: quelle solution pour ce bug un peu en dehors de mon contrôle? pour l'instant, j'ai simplement décidé de ne pas faire de dlclose() lors du cleanup, mais c'est pas joli joli.
Partager