J'essaie d'obtenir une fonction pour démarrer un autre thread, puis revenir, avec le thread en cours d'exécution. Il semblerait que pthread_detach() prenne soin de la mémoire et d'autres choses pour moi, bien que je ne sois pas entièrement sûr. Tel est le code de la fonction:Utilisation correcte de pthread_detach
void function() {
pthread_mutex_lock(&state.continueLoopingMutex);
if(state.continueLooping == true) {
pthread_mutex_unlock(&state.continueLoopingMutex);
return;
}
state.continueLooping = true;
pthread_mutex_unlock(&state.continueLoopingMutex);
pthread_t thread;
pthread_create(&thread, NULL, runLoop, NULL);
pthread_detach(thread);
}
(La boucle s'arrête lorsque continueLooping est définie sur false, une fois que la boucle se termine, il retourne juste sans rien faire d'autre).
Y at-il un problème avec cette structure qui provoquerait une fuite de mémoire, etc., dont je devrais me préoccuper?
Merci