[eside-ghost] Pthreads
Iker Perez de Albeniz - Txupete -
txupete en gmail.com
Mar Sep 15 10:58:02 CEST 2009
Aupa, tengo una duda..
Estoy haciendo un pequeños servidorcillo con pthreads
basicamente tengo esto:
***************************************************************************
int th_counter = 0;
pthread_t thread_id[100];
for(;;) {
sin_size = sizeof their_addr;
new_fd = accept(sockfd, (struct sockaddr *)&their_addr, &sin_size);
if (new_fd == -1) {
perror("accept");
continue;
}
inet_ntop(their_addr.ss_family, get_in_addr((struct sockaddr
*)&their_addr), s, sizeof s);
mainData *data = new
mainData(new_fd,&cfg,savepath,commconfiguration,cleans);
pthread_create(&thread_id[th_counter],NULL,analyze_spam,(void*) data);
th_counter++;
if(th_counter == 100){
th_counter = 0;
}
// parent doesn't need this
}
***************************************************************************************
No hago pthread_join porque nokieroesperar a que termine para aceptar otra
conexion y lanzar otro thread.
El tema es que he visto que por cada pthread que lanzo tengo un consumo de
memoria. Alguien sabe porque es esto y si hay laguna forma de evitarlo. he
intentado usando la funcion pthread_detach() pero me da segmentation
faults.. alguna idea?
Gracias.
Un saludo.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20090915/3237e4d6/attachment.htm
Más información sobre la lista de distribución eside-ghost