Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3343 connectés 

  FORUM HardWare.fr
  Programmation
  C

  SIGTERM et gprof

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SIGTERM et gprof

n°1204645
niemad
Posté le 21-09-2005 à 18:18:25  profilanswer
 

Bonjour,
J essaye d utiliser gprof pour faire un profile du temps d execution des differentes fonctions de mon programme, mais j ai un petit probleme a cause de la facon dont mon programme s arrete. Mon programe a la structure suivante:
un premier executable ('ex 1') lance 2 autres executables ('ex a' et 'ex b') sous forme de processus independant.  'ex 1' fait alors un jeu de ping pong entre 'ex a' et ex b' pour qu ils soient appeles l'un apres l'autre (ils ecrivent dans une zones de memoire partagee commune). Le processus 'ex a' peut decider d arreter la totalite du programe ('ex 1' et 'ex a' et 'ex b'). L execution de 'ex a' est alors arreter nomarlement (fin de la fonction 'main') et 'ex 1' detecte cet arret ( grace a un test sur processus id). 'ex 1' envoie alors un signal d arret a 'ex b' avec un kill(exb_pid,SIGTERM).
Mon probleme c est que j ai l impression que gprof n aime pas ce genre de terminaison car il n ecrit pas le fichier de profile alors qu il l ecrit sans probleme pour 'ex 1' et 'ex a'. Est ce que mon erreur peut venir de la ou est ce qu il y aurait un autre probleme auquel je ne pense pas?
 
Pour etre un peu plus claire voici un exemple en code:
 
Dans le main de 'ex 1'

Code :
  1. ....
  2. while (exa_pid || exb_pid)
  3. {
  4.     pid = wait(&status);
  5.     /* 'ex a' is exited */
  6.     if (exa_pid == pid)
  7.       {
  8.        if (WIFEXITED(status))
  9.   {
  10.     printf("\'ex a' Normal Exit" );
  11.  
  12.     if (exb_pid != 0)
  13.       {
  14.  if (getpgid(exb_pid)>0)
  15.    {
  16.      printf("\Stopping 'ex b' for a clean exit." );
  17.      kill(exb_pid,SIGTERM); 
  18.    }
  19.  else printf("\n 'ex b' alredy terminated." );
  20.       }
  21. }
  22. .....

mood
Publicité
Posté le 21-09-2005 à 18:18:25  profilanswer
 

n°1205383
matafan
Posté le 22-09-2005 à 17:48:19  profilanswer
 

Tu es sous quel OS ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  SIGTERM et gprof

 

Sujets relatifs
Plus de sujets relatifs à : SIGTERM et gprof


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)