Desenvolvi um Client Server em C com criptografia polarssl para transferencia de arquivos usando thread.
O server foi feito em Linux e o Client em Windows, mas estou com um problema, para cada pthread que eu inicio ele cria um processo novo, e ao finalizar a thread o processo não morre, continua ocupando memoria e processamento.
alguém tem ideia do porque isso esta ocorrendo? será que a biblioteca de criptografia esta fazendo isso?
estrutura da criacao da thread:
void cleanup()
{
pthread_exit(NULL);
exit(EXIT_SUCCESS);
return;
} /* cleanup() */
void *Transmissao(void *paramSocket){
//implementacao da thread
[...]
//matando a thread
pthread_exit(NULL);
}
int main(){
pthread_t thread;
//[...]
//iniciando socket com a bibliotea polarssl
//[...]
signal(SIGTERM , cleanup);
signal(SIGINT , cleanup);
//assim que o client se conecta ele cria a thread
pthread_create(&thread, 0,&Transmissao, ¶m);//param é uma struct que eu criei
//[...]
}
Pergunta
caloro
Desenvolvi um Client Server em C com criptografia polarssl para transferencia de arquivos usando thread.
O server foi feito em Linux e o Client em Windows, mas estou com um problema, para cada pthread que eu inicio ele cria um processo novo, e ao finalizar a thread o processo não morre, continua ocupando memoria e processamento.
alguém tem ideia do porque isso esta ocorrendo? será que a biblioteca de criptografia esta fazendo isso?
estrutura da criacao da thread:
void cleanup() { pthread_exit(NULL); exit(EXIT_SUCCESS); return; } /* cleanup() */ void *Transmissao(void *paramSocket){ //implementacao da thread [...] //matando a thread pthread_exit(NULL); } int main(){ pthread_t thread; //[...] //iniciando socket com a bibliotea polarssl //[...] signal(SIGTERM , cleanup); signal(SIGINT , cleanup); //assim que o client se conecta ele cria a thread pthread_create(&thread, 0,&Transmissao, ¶m);//param é uma struct que eu criei //[...] }Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.