Mon application est construite avec apache et fonctionne sur Windows. Je crée un fil à l'aide du CreateThread(), puis pour chaque thread exécutant le ci-dessous:apr_pool_destroy() de thread Apache est-il sûr?
ap_run_sub_req(subrequest);
ap_rflush(subrequest);
ap_destroy_sub_req(subrequest);
Le ap_destroy_sub_request appelle à son tour la fonction apr_pool_destroy().
La mémoire allouée par ap_run_sub_req() pour pool et ap_destroy_sub_req() libère la mémoire allouée.
Si la fonction apr_pool_destroy() est appelée dans un thread, la mémoire allouée n'est pas libérée, ce qui entraîne une perte de mémoire pour l'application. Je n'ai trouvé dans aucune documentation d'apache la mention de apr_pool_destroy() étant des fonctions non-thread-safe.
Comment ce problème peut-il être résolu? Comment puis-je libérer le pool alloué dans les threads?
Merci