version 1.1.1.1, 2010/01/26 15:22:44
|
version 1.72, 2025/04/15 10:17:57
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.9 |
RPL/2 (R) version 4.1.36 |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
Copyright (C) 1989-2025 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 20
|
Line 20
|
*/ |
*/ |
|
|
|
|
#include "rpl.conv.h" |
#include "rpl-conv.h" |
|
|
|
|
/* |
/* |
Line 300 ecriture_profil(struct_processus *s_etat
|
Line 300 ecriture_profil(struct_processus *s_etat
|
l_element_courant = (*l_element_courant).suivant; |
l_element_courant = (*l_element_courant).suivant; |
} |
} |
|
|
total = cumul.tv_sec + (((double) cumul.tv_usec) / 1000000); |
total = ((double) cumul.tv_sec) + (((double) cumul.tv_usec) / 1000000); |
|
|
// Création du fichier |
// Création du fichier |
|
|
Line 312 ecriture_profil(struct_processus *s_etat
|
Line 312 ecriture_profil(struct_processus *s_etat
|
} |
} |
|
|
snprintf(nom, strlen(ds_rplprofile) + 64 + 1, |
snprintf(nom, strlen(ds_rplprofile) + 64 + 1, |
"%s-%lu-%lu", ds_rplprofile, (unsigned long) getpid(), |
"%s-%llu-%llu", ds_rplprofile, (unsigned long long) getpid(), |
(unsigned long) pthread_self()); |
(unsigned long long) pthread_self()); |
|
|
if ((fichier = fopen(nom, "w+")) == NULL) |
if ((fichier = fopen(nom, "w+")) == NULL) |
{ |
{ |
Line 333 ecriture_profil(struct_processus *s_etat
|
Line 333 ecriture_profil(struct_processus *s_etat
|
return; |
return; |
} |
} |
|
|
if (fprintf(fichier, "Process : %lu\n", (unsigned long) |
if (fprintf(fichier, "Process : %llu\n", (unsigned long long) |
getpid()) < 0) |
getpid()) < 0) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_erreur_fichier; |
(*s_etat_processus).erreur_systeme = d_es_erreur_fichier; |
return; |
return; |
} |
} |
|
|
if (fprintf(fichier, "Thread : %lu\n", (unsigned long) |
if (fprintf(fichier, "Thread : %llu\n", (unsigned long long) |
pthread_self()) < 0) |
pthread_self()) < 0) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_erreur_fichier; |
(*s_etat_processus).erreur_systeme = d_es_erreur_fichier; |
Line 364 ecriture_profil(struct_processus *s_etat
|
Line 364 ecriture_profil(struct_processus *s_etat
|
|
|
while(l_element_courant != NULL) |
while(l_element_courant != NULL) |
{ |
{ |
temps = (*l_element_courant).cumul.tv_sec + |
temps = ((double) (*l_element_courant).cumul.tv_sec) + |
(((double) (*l_element_courant).cumul.tv_usec) / 1000000); |
(((double) (*l_element_courant).cumul.tv_usec) / 1000000); |
fraction = 100 * (temps / total); |
fraction = 100 * (temps / total); |
|
|
if (fprintf(fichier, "<%012lld> %15.2fs (%6.2f%%/%6.2f%%) : %s\n", |
if (fprintf(fichier, "<%012lld> %15.2fs (%6.2f%%/%6.2f%%) : %s\n", |
(*l_element_courant).nombre_appels, |
(*l_element_courant).nombre_appels, temps, fraction, |
temps, fraction, fraction / (*l_element_courant).nombre_appels, |
fraction / ((double) (*l_element_courant).nombre_appels), |
(*l_element_courant).fonction) < 0) |
(*l_element_courant).fonction) < 0) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_erreur_fichier; |
(*s_etat_processus).erreur_systeme = d_es_erreur_fichier; |