[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